Package com.usatiuk.dhfs.remoteobj

# Record Class RemoteObjectMeta

java.lang.Object
java.lang.Record
com.usatiuk.dhfs.remoteobj.RemoteObjectMeta

All Implemented Interfaces:
  `JDataRefcounted`, `JData`, `Serializable`

public record RemoteObjectMeta(JObjectKey key, org.pcollections.PCollection<JDataRef> refsFrom, boolean frozen, org.pcollections.PMap<PeerId,Long> knownRemoteVersions, Class<? extends JDataRemote> knownType, org.pcollections.PSet<PeerId> confirmedDeletes, boolean seen, org.pcollections.PMap<PeerId,Long> changelog, boolean hasLocalData) extends Record implements JDataRefcounted

See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`RemoteObjectMeta(JDataRemote data, PeerId initialPeer)`
`RemoteObjectMeta(JObjectKey key)`
`RemoteObjectMeta(JObjectKey key, org.pcollections.PCollection<JDataRef> refsFrom, boolean frozen, org.pcollections.PMap<PeerId,Long> knownRemoteVersions, Class<? extends JDataRemote> knownType, org.pcollections.PSet<PeerId> confirmedDeletes, boolean seen, org.pcollections.PMap<PeerId,Long> changelog, boolean hasLocalData)`
Creates an instance of a `RemoteObjectMeta` record class.
`RemoteObjectMeta(JObjectKey key, org.pcollections.PMap<PeerId,Long> remoteChangelog)`

## Method Summary

Modifier and Type
Method
Description
`org.pcollections.PMap<PeerId,Long>`
`changelog()`
Returns the value of the `changelog` record component.
`Collection<JObjectKey>`
`collectRefsTo()`
`org.pcollections.PSet<PeerId>`
`confirmedDeletes()`
Returns the value of the `confirmedDeletes` record component.
`JObjectKey`
`dataKey()`
`final boolean`
`equals(Object o)`
Indicates whether some other object is "equal to" this one.
`int`
`estimateSize()`
`boolean`
`frozen()`
Returns the value of the `frozen` record component.
`final int`
`hashCode()`
Returns a hash code value for this object.
`boolean`
`hasLocalData()`
Returns the value of the `hasLocalData` record component.
`JObjectKey`
`key()`
Returns the value of the `key` record component.
`org.pcollections.PMap<PeerId,Long>`
`knownRemoteVersions()`
Returns the value of the `knownRemoteVersions` record component.
`Class<? extends JDataRemote>`
`knownType()`
Returns the value of the `knownType` record component.
`static JObjectKey`
`ofDataKey(JObjectKey key)`
`static JObjectKey`
`ofMetaKey(JObjectKey key)`
`org.pcollections.PCollection<JDataRef>`
`refsFrom()`
Returns the value of the `refsFrom` record component.
`boolean`
`seen()`
Returns the value of the `seen` record component.
`final String`
`toString()`
Returns a string representation of this record class.
`long`
`versionSum()`
`RemoteObjectMeta`
`withChangelog(org.pcollections.PMap<PeerId,Long> changelog)`
`RemoteObjectMeta`
`withConfirmedDeletes(org.pcollections.PSet<PeerId> confirmedDeletes)`
`RemoteObjectMeta`
`withFrozen(boolean frozen)`
`RemoteObjectMeta`
`withHaveLocal(boolean haveLocal)`
`RemoteObjectMeta`
`withKnownRemoteVersions(org.pcollections.PMap<PeerId,Long> knownRemoteVersions)`
`RemoteObjectMeta`
`withKnownType(Class<? extends JDataRemote> knownType)`
`RemoteObjectMeta`
`withRefsFrom(org.pcollections.PCollection<JDataRef> refs)`
`RemoteObjectMeta`
`withSeen(boolean seen)`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### RemoteObjectMeta

public RemoteObjectMeta(JDataRemote data, PeerId initialPeer)

### RemoteObjectMeta

public RemoteObjectMeta(JObjectKey key, org.pcollections.PMap<PeerId,Long> remoteChangelog)

### RemoteObjectMeta

public RemoteObjectMeta(JObjectKey key)

### RemoteObjectMeta

public RemoteObjectMeta(JObjectKey key, org.pcollections.PCollection<JDataRef> refsFrom, boolean frozen, org.pcollections.PMap<PeerId,Long> knownRemoteVersions, Class<? extends JDataRemote> knownType, org.pcollections.PSet<PeerId> confirmedDeletes, boolean seen, org.pcollections.PMap<PeerId,Long> changelog, boolean hasLocalData)
Creates an instance of a `RemoteObjectMeta` record class.

Parameters:
  `key` - the value for the `key` record component
  `refsFrom` - the value for the `refsFrom` record component
  `frozen` - the value for the `frozen` record component
  `knownRemoteVersions` - the value for the `knownRemoteVersions` record component
  `knownType` - the value for the `knownType` record component
  `confirmedDeletes` - the value for the `confirmedDeletes` record component
  `seen` - the value for the `seen` record component
  `changelog` - the value for the `changelog` record component
  `hasLocalData` - the value for the `hasLocalData` record component

## Method Details

### ofMetaKey

public static JObjectKey ofMetaKey(JObjectKey key)

### ofDataKey

public static JObjectKey ofDataKey(JObjectKey key)

### dataKey

public JObjectKey dataKey()

### withRefsFrom

public RemoteObjectMeta withRefsFrom(org.pcollections.PCollection<JDataRef> refs)

Specified by:
  `withRefsFrom` in interface `JDataRefcounted`

### withFrozen

public RemoteObjectMeta withFrozen(boolean frozen)

Specified by:
  `withFrozen` in interface `JDataRefcounted`

### withKnownRemoteVersions

public RemoteObjectMeta withKnownRemoteVersions(org.pcollections.PMap<PeerId,Long> knownRemoteVersions)

### withKnownType

public RemoteObjectMeta withKnownType(Class<? extends JDataRemote> knownType)

### withConfirmedDeletes

public RemoteObjectMeta withConfirmedDeletes(org.pcollections.PSet<PeerId> confirmedDeletes)

### withSeen

public RemoteObjectMeta withSeen(boolean seen)

### withChangelog

public RemoteObjectMeta withChangelog(org.pcollections.PMap<PeerId,Long> changelog)

### withHaveLocal

public RemoteObjectMeta withHaveLocal(boolean haveLocal)

### versionSum

public long versionSum()

### collectRefsTo

public Collection<JObjectKey> collectRefsTo()

Specified by:
  `collectRefsTo` in interface `JDataRefcounted`

### estimateSize

public int estimateSize()

Specified by:
  `estimateSize` in interface `JData`

### toString

public final String toString()
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.

Specified by:
  `toString` in class `Record`
Returns:
  a string representation of this object

### hashCode

public final int hashCode()
Returns a hash code value for this object. The value is derived from the hash code of each of the record components.

Specified by:
  `hashCode` in class `Record`
Returns:
  a hash code value for this object

### equals

public final boolean equals(Object o)
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with `Objects::equals(Object,Object)`; primitive components are compared with '=='.

Specified by:
  `equals` in class `Record`
Parameters:
  `o` - the object with which to compare
Returns:
  `true` if this object is the same as the `o` argument; `false` otherwise.

### key

public JObjectKey key()
Returns the value of the `key` record component.

Specified by:
  `key` in interface `JData`
Returns:
  the value of the `key` record component

### refsFrom

public org.pcollections.PCollection<JDataRef> refsFrom()
Returns the value of the `refsFrom` record component.

Specified by:
  `refsFrom` in interface `JDataRefcounted`
Returns:
  the value of the `refsFrom` record component

### frozen

public boolean frozen()
Returns the value of the `frozen` record component.

Specified by:
  `frozen` in interface `JDataRefcounted`
Returns:
  the value of the `frozen` record component

### knownRemoteVersions

public org.pcollections.PMap<PeerId,Long> knownRemoteVersions()
Returns the value of the `knownRemoteVersions` record component.

Returns:
  the value of the `knownRemoteVersions` record component

### knownType

public Class<? extends JDataRemote> knownType()
Returns the value of the `knownType` record component.

Returns:
  the value of the `knownType` record component

### confirmedDeletes

public org.pcollections.PSet<PeerId> confirmedDeletes()
Returns the value of the `confirmedDeletes` record component.

Returns:
  the value of the `confirmedDeletes` record component

### seen

public boolean seen()
Returns the value of the `seen` record component.

Returns:
  the value of the `seen` record component

### changelog

public org.pcollections.PMap<PeerId,Long> changelog()
Returns the value of the `changelog` record component.

Returns:
  the value of the `changelog` record component

### hasLocalData

public boolean hasLocalData()
Returns the value of the `hasLocalData` record component.

Returns:
  the value of the `hasLocalData` record component