Interface DataView
- All Known Subinterfaces:
DataContainer
DataViews always exist within a DataContainer
and can be used
for serialization.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
The safety mode of the container. -
Method Summary
Modifier and TypeMethodDescriptionGets the parent container of this DataView.boolean
Returns whether thisDataView
contains the given path.boolean
copy()
Copies thisDataView
and all of it's contents into a newDataContainer
.copy
(DataView.SafetyMode safety) Copies thisDataView
and all of it's contents into a newDataContainer
with the given safety mode.createView
(DataQuery path) Creates a newDataView
at the desired path.createView
(DataQuery path, Map<?, ?> map) Creates a newDataView
with the given data at the desired path.Gets the current path of thisDataView
from its rootDataContainer
.Gets an object from the desired path.getBoolean
(DataQuery path) Gets theBoolean
by path, if available.getBooleanList
(DataQuery path) Gets theByte
by path, if available.getByteList
(DataQuery path) getCharacterList
(DataQuery path) getDataKey
(DataQuery path) Gets thekey
by path, if available.getDataKeyList
(DataQuery path) Gets theDouble
by path, if available.getDoubleList
(DataQuery path) Gets theFloat
by path, if available.getFloatList
(DataQuery path) Gets theInteger
by path, if available.getIntegerList
(DataQuery path) Gets theList
of something by path, if available.Gets theLong
by path, if available.getLongList
(DataQuery path) Gets the underlyingMap
by path, if available.getMapList
(DataQuery path) <T> Optional
<T> Gets theObject
object by path, if available.getObjectList
(DataQuery path, Class<T> objectClass) Gets theList
ofDataSerializable
by path, if available.default <T> Optional
<T> getRegistryValue
(DataQuery path, RegistryType<T> registryType) Gets thevalue
by path, if available, from the global registry.<T> Optional
<T> getRegistryValue
(DataQuery path, RegistryType<T> registryType, RegistryHolder holder) Gets thevalue
by path, if available.getRegistryValueList
(DataQuery path, RegistryType<T> registryType) getRegistryValueList
(DataQuery path, RegistryType<T> registryType, RegistryHolder holder) default Optional
<ResourceKey> getResourceKey
(DataQuery path) Gets thekey
by path, if available.default Optional
<List<ResourceKey>> getResourceKeyList
(DataQuery path) <T extends DataSerializable>
Optional<T> getSerializable
(DataQuery path, Class<T> clazz) Gets theDataSerializable
object by path, if available.<T extends DataSerializable>
Optional<List<T>> getSerializableList
(DataQuery path, Class<T> clazz) Gets theList
ofDataSerializable
by path, if available.Gets theShort
by path, if available.getShortList
(DataQuery path) Gets theString
by path, if available.getStringList
(DataQuery path) Gets theDataView
by path, if available.getViewList
(DataQuery path) boolean
isEmpty()
Gets if this view contains no data.keys
(boolean deep) Gets a collection containing all keys in thisDataView
.name()
Gets the name of this individualDataView
in the path.parent()
Gets the parentDataView
of this view.Removes the data associated to the given path relative to thisDataView
's path.Gets theDataView.SafetyMode
of this data view.Sets the given Object value according to the given path relative to thisDataView
's path.values
(boolean deep) Gets a Map containing all keys and their values for thisDataView
.
-
Method Details
-
container
DataContainer container()Gets the parent container of this DataView.Every DataView will always have a
DataContainer
.For any
DataContainer
, this will return itself.- Returns:
- The parent container
-
currentPath
DataQuery currentPath()Gets the current path of thisDataView
from its rootDataContainer
.For any
DataContainer
itself, this will return an empty string as it is the root of the path.The full path will always include this
DataView
s name at the end of the path.- Returns:
- The path of this view originating from the root
-
name
String name()Gets the name of this individualDataView
in the path.This will always be the final substring of the full path from
currentPath()
.- Returns:
- The name of this DataView
-
parent
Gets the parentDataView
of this view. The parent directly contains this view according to thecurrentPath()
.For any
DataContainer
, this will return an absent parent.- Returns:
- The parent data view containing this view
-
keys
Gets a collection containing all keys in thisDataView
.If deep is set to true, then this will contain all the keys within any child
DataView
s (and their children, etc). These will be in a valid path notation for you to use.If deep is set to false, then this will contain only the keys of any direct children, and not their own children.
- Parameters:
deep
- Whether or not to get all children keys- Returns:
- A set of current keys in this container
-
values
Gets a Map containing all keys and their values for thisDataView
.If deep is set to true, then this will contain all the keys and values within any child
DataView
s (and their children, etc). These keys will be in a valid path notation for you to use.If deep is set to false, then this will contain only the keys and values of any direct children, and not their own children.
- Parameters:
deep
- Whether or not to get a deep list of all children or not- Returns:
- Map of keys and values of this container
-
contains
Returns whether thisDataView
contains the given path.- Parameters:
path
- The path relative to this data view- Returns:
- True if the path exists
-
contains
- Parameters:
path
- The path relative to this data viewpaths
- The additional paths to check- Returns:
- True if all paths exist
-
get
Gets an object from the desired path. If the path is not defined, an absent Optional is returned.- Parameters:
path
- The path to the Object- Returns:
- The Object, if available
-
set
Sets the given Object value according to the given path relative to thisDataView
's path.- Parameters:
path
- The path of the object to setvalue
- The value of the data- Returns:
- This view, for chaining
-
remove
Removes the data associated to the given path relative to thisDataView
's path.Path can not be empty, to remove this
DataView
, call the associated parent to remove this views name.- Parameters:
path
- The path of data to remove- Returns:
- This view, for chaining
-
createView
Creates a newDataView
at the desired path.If any data existed at the given path, that data will be overwritten with the newly constructed
DataView
.- Parameters:
path
- The path of the new view- Returns:
- The newly created view
-
createView
Creates a newDataView
with the given data at the desired path.If any data existed at the given path, that data will be overwritten with the newly constructed
DataView
.- Parameters:
path
- The path of the new viewmap
- The data to store in the new view- Returns:
- The new view
-
getView
Gets theDataView
by path, if available.If a
DataView
does not exist, or the data residing at the path is not an instance of aDataView
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The data view, if available
-
getMap
Gets the underlyingMap
by path, if available.If a
Map
does not exist, or data residing at the path is not an instance of aMap
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The map, if available
-
getBoolean
Gets theBoolean
by path, if available.If a
Boolean
does not exist, or the data residing at the path is not an instance of aBoolean
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The boolean, if available
-
getShort
Gets theShort
by path, if available.If a
Short
does not exist, or the data residing at the path is not an instance of aShort
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The boolean, if available
-
getByte
Gets theByte
by path, if available.If a
Byte
does not exist, or the data residing at the path is not an instance of aByte
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The boolean, if available
-
getInt
Gets theInteger
by path, if available.If a
Integer
does not exist, or the data residing at the path is not an instance of aInteger
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The integer, if available
-
getLong
Gets theLong
by path, if available.If a
Long
does not exist, or the data residing at the path is not an instance of aLong
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The long, if available
-
getFloat
Gets theFloat
by path, if available.If a
Float
does not exist, or the data residing at the path is not an instance of aFloat
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The boolean, if available
-
getDouble
Gets theDouble
by path, if available.If a
Double
does not exist, or the data residing at the path is not an instance of aDouble
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The double, if available
-
getString
Gets theString
by path, if available.If a
String
does not exist, or the data residing at the path is not an instance of aString
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The string, if available
-
getResourceKey
Gets thekey
by path, if available.- Parameters:
path
- The path of the value to get- Returns:
- The key, if available
-
getResourceKeyList
- Parameters:
path
- The path of the value to get- Returns:
- The list of keys, if available
-
getList
Gets theList
of something by path, if available.If a
List
of something does not exist, or the data residing at the path is not an instance of aList
of something, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The list, if available
-
getStringList
Gets theList
ofString
by path, if available.If a
List
ofString
does not exist, or the data residing at the path is not an instance of aList
ofString
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The list of strings, if available
-
getCharacterList
Gets theList
ofCharacter
by path, if available.If a
List
ofCharacter
does not exist, or the data residing at the path is not an instance of aList
ofCharacter
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The list of characters, if available
-
getBooleanList
Gets theList
ofBoolean
by path, if available.If a
List
ofBoolean
does not exist, or the data residing at the path is not an instance of aList
ofBoolean
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The list of booleans, if available
-
getByteList
Gets theList
ofByte
by path, if available.If a
List
ofByte
does not exist, or the data residing at the path is not an instance of aList
ofByte
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The list of bytes, if available
-
getShortList
Gets theList
ofShort
by path, if available.If a
List
ofShort
does not exist, or the data residing at the path is not an instance of aList
ofShort
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The list of shorts, if available
-
getIntegerList
Gets theList
ofInteger
by path, if available.If a
List
ofInteger
does not exist, or the data residing at the path is not an instance of aList
ofInteger
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The list of integers, if available
-
getLongList
Gets theList
ofLong
by path, if available.If a
List
ofLong
does not exist, or the data residing at the path is not an instance of aList
ofLong
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The list of longs, if available
-
getFloatList
Gets theList
ofFloat
by path, if available.If a
List
ofFloat
does not exist, or the data residing at the path is not an instance of aList
ofFloat
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The list of floats, if available
-
getDoubleList
Gets theList
ofDouble
by path, if available.If a
List
ofDouble
does not exist, or the data residing at the path is not an instance of aList
ofDouble
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The list of doubles, if available
-
getMapList
Gets theList
ofMap
by path, if available.If a
List
ofMap
does not exist, or the data residing at the path is not an instance of aList
ofMap
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The list of maps, if available
-
getViewList
Gets theList
ofDataView
by path, if available.If a
List
ofDataView
does not exist, or the data residing at the path is not an instance of aList
ofDataView
, an absent is returned.- Parameters:
path
- The path of the value to get- Returns:
- The list of data views, if available
-
getSerializable
Gets theDataSerializable
object by path, if available.If a
DataSerializable
exists, but is not the proper class type, or there is no data at the path given, an absent is returned.It is important that the
DataManager
provided is the same one that has registered many of theDataBuilder
s to ensure theDataSerializable
requested can be returned.- Type Parameters:
T
- The type ofDataSerializable
object- Parameters:
path
- The path of the value to getclazz
- The class of theDataSerializable
- Returns:
- The deserialized object, if available
-
getSerializableList
Gets theList
ofDataSerializable
by path, if available.If a
List
exists, but the contents of the list are not consideredDataSerializable
or are not of the proper type ofDataSerializable
, an absent is returned.It is important that the
DataManager
provided is the same one that has registered many of theDataBuilder
s to ensure theDataSerializable
requested can be returned.- Type Parameters:
T
- The type ofDataSerializable
object- Parameters:
path
- The path of the list value to getclazz
- The class of theDataSerializable
- Returns:
- The deserialized objects in a list, if available
-
getObject
Gets theObject
object by path, if available.If a
Object
exists, but is not the proper class type, or there is no data at the path given, an absent is returned.It is important that the
DataManager
provided is the same one that has registered many of theDataTranslator
s to ensure theDataSerializable
requested can be returned. -
getObjectList
Gets theList
ofDataSerializable
by path, if available.If a
List
exists, but the contents of the list are not consideredDataTranslator
"able" or are not of the proper type ofDataTranslator
, an absent is returned.It is important that the
DataManager
provided is the same one that has registered many of theDataTranslator
s to ensure theObject
requested can be returned. -
getRegistryValue
Gets thevalue
by path, if available, from the global registry.- Type Parameters:
T
- The type of dummy- Parameters:
path
- The path of the value to getregistryType
- The class of the dummy type- Returns:
- The dummy type, if available
-
getRegistryValueList
- Type Parameters:
T
- The type of dummy type- Parameters:
path
- The path of the list value to getregistryType
- The type of registry to search- Returns:
- The list of dummy types, if available
-
getRegistryValue
<T> Optional<T> getRegistryValue(DataQuery path, RegistryType<T> registryType, RegistryHolder holder) Gets thevalue
by path, if available.- Type Parameters:
T
- The type of dummy- Parameters:
path
- The path of the value to getregistryType
- The class of the dummy typeholder
- The holder to get the registry from- Returns:
- The dummy type, if available
-
getRegistryValueList
<T> Optional<List<T>> getRegistryValueList(DataQuery path, RegistryType<T> registryType, RegistryHolder holder) - Type Parameters:
T
- The type of dummy type- Parameters:
path
- The path of the list value to getregistryType
- The type of registry to searchholder
- the holder to get the registry from- Returns:
- The list of dummy types, if available
-
getDataKey
Gets thekey
by path, if available.- Type Parameters:
E
- The element typeV
- The value type- Parameters:
path
- The path of the value to get- Returns:
- The key, if available
-
getDataKeyList
- Parameters:
path
- The path of the value to get- Returns:
- The list of keys, if available
-
copy
DataContainer copy()Copies thisDataView
and all of it's contents into a newDataContainer
.Note that the copy will not have the same path as this
DataView
since it will be constructed with the top level path being itself.- Returns:
- The newly constructed data view
-
copy
Copies thisDataView
and all of it's contents into a newDataContainer
with the given safety mode.Note that the copy will not have the same path as this
DataView
since it will be constructed with the top level path being itself.- Parameters:
safety
- The safety mode of the copy- Returns:
- The newly constructed data view
-
isEmpty
boolean isEmpty()Gets if this view contains no data.- Returns:
- True if no data
-
safetyMode
DataView.SafetyMode safetyMode()Gets theDataView.SafetyMode
of this data view.- Returns:
- The safety mode
-