Class ShadedSection
- java.lang.Object
-
- cc.carm.lib.configuration.source.section.ShadedSection
-
- All Implemented Interfaces:
ConfigureSection
public class ShadedSection extends java.lang.Object implements ConfigureSection
-
-
Field Summary
Fields Modifier and Type Field Description protected @Nullable ShadedSectionparentprotected @Nullable ConfigureSectionsourceprotected @NotNull ConfigureSectiontemplate
-
Constructor Summary
Constructors Constructor Description ShadedSection(@Nullable ShadedSection parent, @NotNull ConfigureSection template, @Nullable ConfigureSection source)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description @NotNull @UnmodifiableView java.util.Map<java.lang.String,java.lang.Object>asMap()Get this section as a map.static ShadedSectioncreate(@NotNull ConfigureSection template, @Nullable ConfigureSection source)@NotNull ConfigureSectioncreateSection(@NotNull java.lang.String path, @NotNull java.util.Map<?,?> data)Creates a newConfigureSectionwith specified values.@Nullable java.lang.Objectget(@NotNull java.lang.String path)Get the origin value of the path.@Nullable java.lang.ObjectgetFromTemplate(@NotNull java.lang.String path)@NotNull @UnmodifiableView java.util.Set<java.lang.String>getKeys(boolean deep)Gets a set containing all keys in this section.@Nullable ConfigureSectiongetSource()@NotNull @UnmodifiableView java.util.Map<java.lang.String,java.lang.Object>getValues(boolean deep)Gets a set containing all values in this section.@Nullable ConfigureSectionparent()Gets the parent section of this section.@NotNull java.lang.Stringpath()Get the current section's path fromConfigureSection.parent()of this section.voidremove(@NotNull java.lang.String path)Removes the value at the given path.voidset(@NotNull java.lang.String path, @Nullable java.lang.Object value)Sets the value at the given path.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods 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, getShort, getShort, getString, getString, getStringList, isBoolean, isByte, isChar, isDouble, isEmpty, isFloat, isInt, isList, isLong, isRoot, isSection, isShort, isString, isType, keys, pathSeparator, size, stream, stream, stream, values
-
-
-
-
Field Detail
-
parent
@Nullable protected final @Nullable ShadedSection parent
-
template
@NotNull protected @NotNull ConfigureSection template
-
source
@Nullable protected @Nullable ConfigureSection source
-
-
Constructor Detail
-
ShadedSection
public ShadedSection(@Nullable @Nullable ShadedSection parent, @NotNull @NotNull ConfigureSection template, @Nullable @Nullable ConfigureSection source)
-
-
Method Detail
-
create
public static ShadedSection create(@NotNull @NotNull ConfigureSection template, @Nullable @Nullable ConfigureSection source)
-
parent
@Nullable public @Nullable ConfigureSection parent()
Description copied from interface:ConfigureSectionGets the parent section of this section.For root sections, this will return null.
- Specified by:
parentin interfaceConfigureSection- Returns:
- Parent section, or null if this is a root section.
-
path
@NotNull public @NotNull java.lang.String 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
@NotNull public @NotNull @UnmodifiableView java.util.Map<java.lang.String,java.lang.Object> getValues(boolean deep)
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.
-
asMap
@NotNull public @NotNull @UnmodifiableView java.util.Map<java.lang.String,java.lang.Object> 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.
-
getKeys
@NotNull public @NotNull @UnmodifiableView java.util.Set<java.lang.String> getKeys(boolean deep)
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.
-
set
public void set(@NotNull @NotNull java.lang.String path, @Nullable @Nullable java.lang.Object value)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
public void remove(@NotNull @NotNull java.lang.String path)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.
-
createSection
@NotNull public @NotNull ConfigureSection createSection(@NotNull @NotNull java.lang.String path, @NotNull @NotNull java.util.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 interfaceConfigureSectiondata- The data to be used to create section.- Returns:
- Newly created section
-
get
@Nullable public @Nullable java.lang.Object get(@NotNull @NotNull java.lang.String path)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.
-
getFromTemplate
@Nullable public @Nullable java.lang.Object getFromTemplate(@NotNull @NotNull java.lang.String path)
-
getSource
@Nullable public @Nullable ConfigureSection getSource()
-
-