Package cn.sliew.milky.common.constant
Interface Attribute<T>
-
- Type Parameters:
T- the type of the value it holds.
public interface Attribute<T>An attribute which allows to store a value reference. It may be updated atomically and so is thread-safe.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleancompareAndSet(T oldValue, T newValue)Atomically sets the value to the given updated value if the current value == the expected value.Tget()Returns the current value, which may benullTgetAndSet(T value)Atomically sets to the given value and returns the old value which may benullif non was set before.AttributeKey<T>key()Returns the key of this attribute.voidset(T value)Sets the valueTsetIfAbsent(T value)Atomically sets to the given value if thisAttribute's value isnull.
-
-
-
Method Detail
-
key
AttributeKey<T> key()
Returns the key of this attribute.
-
get
T get()
Returns the current value, which may benull
-
set
void set(T value)
Sets the value
-
getAndSet
T getAndSet(T value)
Atomically sets to the given value and returns the old value which may benullif non was set before.
-
setIfAbsent
T setIfAbsent(T value)
Atomically sets to the given value if thisAttribute's value isnull. If it was not possible to set the value as it contains a value it will just return the current value.
-
-