Package org.drasyl.util
Class Worm<T>
java.lang.Object
org.drasyl.util.Worm<T>
- Type Parameters:
T- the type of the worm object
This class wraps an object of type
T and serves as a write once read many (worm) memory.-
Method Summary
Modifier and TypeMethodDescriptionbooleanget()If a value is present, returns the value, otherwise throwsNoSuchElementException.getOrCompute(Supplier<T> supplier) If no value has been set yet, it will be set to the return ofsupplier.If no value has been set yet, it will be set tovalue.inthashCode()booleanisEmpty()If a value is not present, returnstrue, otherwisefalse.booleanIf a value is present, returnstrue, otherwisefalse.static <T> Worm<T>of()Creates a newWormobject with not set value.static <T> Worm<T>of(T value) Creates a newWormobject with value set tovalue.voidSets the value tovalue.toString()booleanSets the value tovalueif no value is present yet.
-
Method Details
-
get
If a value is present, returns the value, otherwise throwsNoSuchElementException.- Returns:
- the value described by this
Worm - Throws:
NoSuchElementException- if no value is present
-
set
Sets the value tovalue.- Parameters:
value- the new value- Throws:
IllegalStateException- if value is already present
-
trySet
Sets the value tovalueif no value is present yet.- Parameters:
value- the new value- Returns:
- returns
true, if value has been set tovalue
-
getOrCompute
If no value has been set yet, it will be set to the return ofsupplier. Otherwise the existing value is returned.- Parameters:
supplier- is used to compute the value- Returns:
- the value of this
Worm
-
getOrSet
If no value has been set yet, it will be set tovalue. Otherwise the existing value is returned.- Parameters:
value- is used to set the value- Returns:
- the value of this
Worm
-
isPresent
public boolean isPresent()If a value is present, returnstrue, otherwisefalse.- Returns:
trueif a value is present, otherwisefalse
-
isEmpty
public boolean isEmpty()If a value is not present, returnstrue, otherwisefalse.- Returns:
trueif a value is not present, otherwisefalse
-
hashCode
public int hashCode() -
equals
-
toString
-
of
Creates a newWormobject with not set value.- Type Parameters:
T- the type of theWormobject- Returns:
- the
Wormobject
-
of
Creates a newWormobject with value set tovalue.- Type Parameters:
T- the type of theWormobject- Returns:
- the
Wormobject
-