Implements a 'Observed Remove Map' CRDT, also called a 'OR-Map'.
It has similar semantics as an ORSet, but in case of concurrent updates the values are merged, and must therefore be ReplicatedData types themselves.
This class is immutable, i.e. "modifying" methods return a new instance.
Attributes
- Companion
- object
- Source
- ORMap.scala
- Graph
-
- Supertypes
-
trait RemovedNodePruningtrait Serializabletrait DeltaReplicatedDatatrait ReplicatedDataclass Objecttrait Matchableclass AnyShow all
Members list
Type members
Types
The type of the delta. To be specified by subclass. It may be the same type as T
or a different type if needed. For example GSet
uses the same type and ORSet
uses different types.
The type of the delta. To be specified by subclass. It may be the same type as T
or a different type if needed. For example GSet
uses the same type and ORSet
uses different types.
Attributes
- Source
- ORMap.scala
The type of the concrete implementation, e.g. GSet[A]
. To be specified by subclass.
The type of the concrete implementation, e.g. GSet[A]
. To be specified by subclass.
Attributes
- Source
- ORMap.scala
Value members
Concrete methods
Adds an entry to the map
Attributes
- Source
- ORMap.scala
Scala API: All entries of the map.
Compares the receiver object (this
) with the argument object (that
) for equivalence.
Compares the receiver object (this
) with the argument object (that
) for equivalence.
Any implementation of this method should be an equivalence relation:
- It is reflexive: for any instance
x
of typeAny
,x.equals(x)
should returntrue
. - It is symmetric: for any instances
x
andy
of typeAny
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any instances
x
,y
, andz
of typeAny
ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
.
If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode
to ensure that objects which are "equal" (o1.equals(o2)
returns true
) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)
).
Value parameters
- that
-
the object to compare against this object for equality.
Attributes
- Returns
-
true
if the receiver object is equivalent to the argument;false
otherwise. - Definition Classes
-
Any
- Source
- ORMap.scala
Attributes
- Source
- ORMap.scala
Java API: All entries of the map.
Scala API: Get the value associated with the key if there is one, else return the given default.
Scala API: Get the value associated with the key if there is one, else return the given default.
Attributes
- Source
- ORMap.scala
Calculate a hash code value for the object.
Calculate a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)
) yet not be equal (o1.equals(o2)
returns false
). A degenerate implementation could always return 0
. However, it is required that if two objects are equal (o1.equals(o2)
returns true
) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)
). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals
method.
Attributes
- Returns
-
the hash code value for this object.
- Definition Classes
-
Any
- Source
- ORMap.scala
Attributes
- Source
- ORMap.scala
Monotonic merge function.
When delta is merged into the full state this method is used. When the type D
of the delta is of the same type as the full state T
this method can be implemented by delegating to merge
.
When delta is merged into the full state this method is used. When the type D
of the delta is of the same type as the full state T
this method can be implemented by delegating to merge
.
Attributes
- Definition Classes
- Source
- ORMap.scala
The nodes that have changed the state for this data and would need pruning when such node is no longer part of the cluster.
The nodes that have changed the state for this data and would need pruning when such node is no longer part of the cluster.
Attributes
- Definition Classes
- Source
- ORMap.scala
Does it have any state changes from a specific node, which has been removed from the cluster.
Does it have any state changes from a specific node, which has been removed from the cluster.
Attributes
- Definition Classes
- Source
- ORMap.scala
When the removed
node has been removed from the cluster the state changes from that node will be pruned by collapsing the data entries to another node.
When the removed
node has been removed from the cluster the state changes from that node will be pruned by collapsing the data entries to another node.
Attributes
- Definition Classes
- Source
- ORMap.scala
Remove data entries from a node that has been removed from the cluster and already been pruned.
Remove data entries from a node that has been removed from the cluster and already been pruned.
Attributes
- Definition Classes
- Source
- ORMap.scala
Adds an entry to the map. Note that the new value
will be merged with existing values on other nodes and the outcome depends on what ReplicatedData
type that is used.
Adds an entry to the map. Note that the new value
will be merged with existing values on other nodes and the outcome depends on what ReplicatedData
type that is used.
Consider using ORMap#updated instead of put
if you want modify existing entry.
IllegalArgumentException
is thrown if you try to replace an existing ORSet
value, because important history can be lost when replacing the ORSet
and undesired effects of merging will occur. Use ORMultiMap or ORMap#updated instead.
Attributes
- Source
- ORMap.scala
Scala API Removes an entry from the map. Note that if there is a conflicting update on another node the entry will not be removed after merge.
Scala API Removes an entry from the map. Note that if there is a conflicting update on another node the entry will not be removed after merge.
Attributes
- Source
- ORMap.scala
Java API Removes an entry from the map. Note that if there is a conflicting update on another node the entry will not be removed after merge.
Java API Removes an entry from the map. Note that if there is a conflicting update on another node the entry will not be removed after merge.
Attributes
- Source
- ORMap.scala
Reset collection of deltas from mutator operations. When the Replicator
invokes the modify
function of the Update
message the delta is always "reset" and when the user code is invoking one or more mutator operations the data is collecting the delta of the operations and makes it available for the Replicator
with the delta accessor. When the Replicator
has grabbed the delta
it will invoke this method to get a clean data instance without the delta.
Reset collection of deltas from mutator operations. When the Replicator
invokes the modify
function of the Update
message the delta is always "reset" and when the user code is invoking one or more mutator operations the data is collecting the delta of the operations and makes it available for the Replicator
with the delta accessor. When the Replicator
has grabbed the delta
it will invoke this method to get a clean data instance without the delta.
Attributes
- Definition Classes
- Source
- ORMap.scala
Attributes
- Source
- ORMap.scala
Returns a string representation of the object.
Returns a string representation of the object.
The default representation is platform dependent.
Attributes
- Returns
-
a string representation of the object.
- Definition Classes
-
Any
- Source
- ORMap.scala
Java API: Replace a value by applying the modify
function on the existing value.
Java API: Replace a value by applying the modify
function on the existing value.
If there is no current value for the key
the initial
value will be passed to the modify
function.
Attributes
- Source
- ORMap.scala
Scala API: Replace a value by applying the modify
function on the existing value.
Scala API: Replace a value by applying the modify
function on the existing value.
If there is no current value for the key
the initial
value will be passed to the modify
function.
Attributes
- Source
- ORMap.scala
Deprecated methods
Attributes
- Deprecated
-
[Since version Akka 2.5.20]
- Source
- ORMap.scala
Attributes
- Deprecated
-
[Since version Akka 2.5.20]
- Source
- ORMap.scala
Attributes
- Deprecated
-
[Since version Akka 2.5.20]
- Source
- ORMap.scala
Attributes
- Deprecated
-
[Since version Akka 2.5.20]
- Source
- ORMap.scala
Attributes
- Deprecated
-
[Since version Akka 2.5.20]
- Source
- ORMap.scala
Attributes
- Deprecated
-
[Since version Akka 2.5.20]
- Source
- ORMap.scala
Java API: Replace a value by applying the modify
function on the existing value.
Java API: Replace a value by applying the modify
function on the existing value.
If there is no current value for the key
the initial
value will be passed to the modify
function.
Attributes
- Deprecated
- true
- Source
- ORMap.scala
Concrete fields
The accumulated delta of mutator operations since previous resetDelta. When the Replicator
invokes the modify
function of the Update
message and the user code is invoking one or more mutator operations the data is collecting the delta of the operations and makes it available for the Replicator
with the delta accessor. The modify
function shall still return the full state in the same way as ReplicatedData
without support for deltas.
The accumulated delta of mutator operations since previous resetDelta. When the Replicator
invokes the modify
function of the Update
message and the user code is invoking one or more mutator operations the data is collecting the delta of the operations and makes it available for the Replicator
with the delta accessor. The modify
function shall still return the full state in the same way as ReplicatedData
without support for deltas.
Attributes
- Source
- ORMap.scala