T
- The type of single value this will holdM
- The type of DataManipulator
I
- The type of ImmutableDataManipulator
public abstract class AbstractSingleData<T,M extends org.spongepowered.api.data.manipulator.DataManipulator<M,I>,I extends org.spongepowered.api.data.manipulator.ImmutableDataManipulator<I,M>> extends AbstractData<M,I>
DataManipulator
s that handle a single
value, adding the provided getValue()
and setValue(Object)
methods for easy manipulation. This as well simplifies handling various
other common implementations, such as hashCode()
and
equals(Object)
.Modifier and Type | Field and Description |
---|---|
protected org.spongepowered.api.data.key.Key<? extends org.spongepowered.api.data.value.BaseValue<T>> |
usedKey |
Modifier | Constructor and Description |
---|---|
protected |
AbstractSingleData(Class<M> manipulatorClass,
T value,
org.spongepowered.api.data.key.Key<? extends org.spongepowered.api.data.value.BaseValue<T>> usedKey) |
Modifier and Type | Method and Description |
---|---|
abstract I |
asImmutable() |
abstract int |
compareTo(M o) |
boolean |
equals(Object obj) |
<E> Optional<E> |
get(org.spongepowered.api.data.key.Key<? extends org.spongepowered.api.data.value.BaseValue<E>> key) |
T |
getValue() |
protected abstract org.spongepowered.api.data.value.mutable.Value<?> |
getValueGetter() |
int |
hashCode() |
protected void |
registerGettersAndSetters() |
M |
setValue(T value) |
boolean |
supports(org.spongepowered.api.data.key.Key<?> key) |
fill, from, getKeys, getValue, getValues, registerFieldGetter, registerFieldSetter, registerKeyValue, set, transform
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
protected final org.spongepowered.api.data.key.Key<? extends org.spongepowered.api.data.value.BaseValue<T>> usedKey
protected void registerGettersAndSetters()
registerGettersAndSetters
in class AbstractData<M extends org.spongepowered.api.data.manipulator.DataManipulator<M,I>,I extends org.spongepowered.api.data.manipulator.ImmutableDataManipulator<I,M>>
protected abstract org.spongepowered.api.data.value.mutable.Value<?> getValueGetter()
public <E> Optional<E> get(org.spongepowered.api.data.key.Key<? extends org.spongepowered.api.data.value.BaseValue<E>> key)
get
in interface org.spongepowered.api.data.value.ValueContainer<M extends org.spongepowered.api.data.manipulator.DataManipulator<M,I>>
get
in class AbstractData<M extends org.spongepowered.api.data.manipulator.DataManipulator<M,I>,I extends org.spongepowered.api.data.manipulator.ImmutableDataManipulator<I,M>>
public boolean supports(org.spongepowered.api.data.key.Key<?> key)
supports
in interface org.spongepowered.api.data.value.ValueContainer<M extends org.spongepowered.api.data.manipulator.DataManipulator<M,I>>
supports
in class AbstractData<M extends org.spongepowered.api.data.manipulator.DataManipulator<M,I>,I extends org.spongepowered.api.data.manipulator.ImmutableDataManipulator<I,M>>
public abstract I asImmutable()
public abstract int compareTo(M o)
public T getValue()
public int hashCode()