Interface AtomicValue<V>

Type Parameters:
V - value type
All Superinterfaces:
DistributedPrimitive, SyncPrimitive<AtomicValue<V>,AsyncAtomicValue<V>>

public interface AtomicValue<V> extends SyncPrimitive<AtomicValue<V>,AsyncAtomicValue<V>>
Distributed version of java.util.concurrent.atomic.AtomicReference.
  • Method Details

    • builder

      static <V> AtomicValueBuilder<V> builder(AtomixChannel channel)
      Returns a new AtomicValue builder.
      Parameters:
      channel - the AtomixChannel
      Returns:
      the AtomicValue builder
    • get

      Versioned<V> get()
      Gets the current value.
      Returns:
      current value
    • set

      Versioned<V> set(V value)
      Sets to the given value.
      Parameters:
      value - new value
      Returns:
      previous versioned value
    • set

      Versioned<V> set(V value, long version)
      Sets to the given value.
      Parameters:
      value - new value
      Returns:
      previous versioned value
    • listen

      default Cancellable listen(AtomicValueEventListener<V> listener)
      Registers the specified listener to be notified whenever the atomic value is updated.
      Parameters:
      listener - listener to notify about events
    • listen

      Cancellable listen(AtomicValueEventListener<V> listener, Executor executor)
      Registers the specified listener to be notified whenever the atomic value is updated.
      Parameters:
      listener - listener to notify about events