Interface DataManipulator.Immutable

All Superinterfaces:
CopyableValueContainer, DataManipulator, ValueContainer
Enclosing interface:
DataManipulator

public static interface DataManipulator.Immutable extends DataManipulator
Represents an immutable DataManipulator. Immutable meaning that the contained values are all likewise Value.Immutable, and as such, cannot be changed themselves, nor can the manipulator be modified to add or remove values. All methods such as with(Value) return new instances. It is guaranteed to be thread safe to access values from this container, and seeing as it does not change, can be passed around as a pseudo cache for templating. It is important to note that there is no guarantee on the validity of the stored Values that their own data does not "expire", cases may include outdated references of entities or worlds that no longer serve valid purposes.
See Also: