Class ConfigureSource<SECTION extends ConfigureSection,ORIGINAL,SELF extends ConfigureSource<SECTION,ORIGINAL,SELF>>
- Type Parameters:
SECTION- The type of the root section.ORIGINAL- The original configuration object.SELF- The type of the source itself, for further implement support.
- All Implemented Interfaces:
ConfigureSection
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final @NotNull ConfigurationHolder<? extends SELF> protected long -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConfigureSource(@NotNull ConfigurationHolder<? extends SELF> holder, long lastUpdateMillis) -
Method Summary
Modifier and TypeMethodDescriptionasMap()Get this section as a map.@NotNull ConfigureSectioncreateSection(@NotNull String path, @NotNull Map<?, ?> data) Creates a newConfigureSectionwith specified values.@Nullable ObjectGet the origin value of the path.getKeys(boolean deep) Gets a set containing all keys in this section.longgetValues(boolean deep) Gets a set containing all values in this section.@NotNull ConfigurationHolder<? extends SELF> holder()booleanisExpired(long parsedTime) protected abstract voidonReload()Reload the configuration.abstract ORIGINALoriginal()@Nullable ConfigureSectionparent()Source also represents the root section, so it has no parent@NotNull Stringpath()Get the current section's path fromConfigureSection.parent()of this section.charGet the path separator for the section.voidreload()voidRemoves the value at the given path.abstract voidsave()Save the whole configuration.abstract SECTIONsection()protected abstract SELFself()voidSets the value at the given path.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface cc.carm.lib.configuration.source.section.ConfigureSection
childPath, computeSection, computeSection, computeSection, computeSection, contains, containsValue, createSection, createSection, createSection, forEach, fullPath, get, get, get, get, getBoolean, getBoolean, getByte, getByte, getByteList, getChar, getChar, getCharList, getCollection, getDouble, getDouble, getDoubleList, getFloat, getFloat, getFloatList, getInt, getInt, getIntegerList, getList, getList, getLong, getLong, getLongList, getSection, getSectionList, getShort, getShort, getString, getString, getStringList, isBoolean, isByte, isChar, isDouble, isEmpty, isFloat, isInt, isList, isLong, isRoot, isSection, isShort, isString, isType, keys, size, stream, stream, stream, values
-
Field Details
-
holder
@NotNull protected final @NotNull ConfigurationHolder<? extends SELF extends ConfigureSource<SECTION,ORIGINAL, holderSELF>> -
lastUpdateMillis
protected long lastUpdateMillis
-
-
Constructor Details
-
ConfigureSource
protected ConfigureSource(@NotNull @NotNull ConfigurationHolder<? extends SELF> holder, long lastUpdateMillis)
-
-
Method Details
-
holder
-
reload
- Throws:
Exception
-
self
-
original
- Returns:
- The original configuration object.
-
section
- Returns:
- The root
ConfigureSection, which represents the entire configuration.
-
save
Save the whole configuration.- Throws:
Exception- If any error occurs while saving.
-
onReload
Reload the configuration.
This used for implementation, for external usage, usereload()- Throws:
Exception- If any error occurs while reloading.
-
pathSeparator
public char pathSeparator()Description copied from interface:ConfigureSectionGet the path separator for the section.- Specified by:
pathSeparatorin interfaceConfigureSection- Returns:
- The path separator
-
getLastUpdateMillis
public long getLastUpdateMillis() -
isExpired
public boolean isExpired(long parsedTime) -
parent
Source also represents the root section, so it has no parent- Specified by:
parentin interfaceConfigureSection- Returns:
- null
-
path
Description copied from interface:ConfigureSectionGet the current section's path fromConfigureSection.parent()of this section.- Specified by:
pathin interfaceConfigureSection- Returns:
- The current path of this section, if
ConfigureSection.isRoot(), return empty string.
-
getValues
Description copied from interface:ConfigureSectionGets a set containing all values in this section.If deep is set to true, then this will contain all the keys within any child
ConfigureSections (and their children paths).If deep is set to false, then this will contain only the keys of any direct children, and not their own children.
- Specified by:
getValuesin interfaceConfigureSection- Parameters:
deep- Whether to get a deep list.- Returns:
- Map of data values contained within this Section.
-
getKeys
Description copied from interface:ConfigureSectionGets a set containing all keys in this section.If deep is set to true, then this will contain all the keys within any child
ConfigureSections (and their children paths).If deep is set to false, then this will contain only the keys of any direct children, and not their own children.
- Specified by:
getKeysin interfaceConfigureSection- Parameters:
deep- Whether to get a deep list.- Returns:
- Set of keys contained within this Section.
-
asMap
Description copied from interface:ConfigureSectionGet this section as a map.In this map, child
ConfigureSections will also be represented asMaps.- Specified by:
asMapin interfaceConfigureSection- Returns:
- Map of data values contained within this Section.
-
createSection
@NotNull public @NotNull ConfigureSection createSection(@NotNull @NotNull String path, @NotNull @NotNull Map<?, ?> data) Description copied from interface:ConfigureSectionCreates a newConfigureSectionwith specified values.The
ConfigureSection.parent()of the new section will be this section.This section will not be saved until
ConfigureSection.set(String, Object)is called.If you want to create and use a section and set it to this section, use
ConfigureSection.computeSection(String).- Specified by:
createSectionin interfaceConfigureSection- Parameters:
data- The data to be used to create section.- Returns:
- Newly created section
-
set
Description copied from interface:ConfigureSectionSets the value at the given path.Null values will be kept, if you want to remove a value use
ConfigureSection.remove(String)Path separator depends on holder'sStandardOptions.PATH_SEPARATOR- Specified by:
setin interfaceConfigureSection- Parameters:
path- The path to set the value at.value- The value to set.
-
remove
Description copied from interface:ConfigureSectionRemoves the value at the given path.Path separator depends on holder's
StandardOptions.PATH_SEPARATOR- Specified by:
removein interfaceConfigureSection- Parameters:
path- The path to remove the value at.
-
get
Description copied from interface:ConfigureSectionGet the origin value of the path.- Specified by:
getin interfaceConfigureSection- Parameters:
path- The path to get the value from.- Returns:
- The value at the path, or null if not found.
-