Package net.orbyfied.j8.config
Class ConfigurationHelper<S extends org.bukkit.configuration.ConfigurationSection>
java.lang.Object
net.orbyfied.j8.config.ConfigurationHelper<S>
public class ConfigurationHelper<S extends org.bukkit.configuration.ConfigurationSection>
extends Object
Helper class for managing configurations
and configurables. Includes a lot of boilerplate.
-
Field Summary
FieldsModifier and TypeFieldDescriptionRuns after saving.Runs before loading.protected final HashMap<String,ConfigurationHelper<org.bukkit.configuration.ConfigurationSection>> The children of this helper.protected final List<Configurable<?>>All configurables linearly.protected final Map<Class<?>,Configurable<?>> All configurables mapped by class.protected SThe configuration section to load from. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddConfigurable(Configurable<?> c) Add a configurable.applyTemplate(Consumer<ConfigurationHelper<? extends S>> consumer) beforeLoad(Consumer<S> consumer) static Consumer<ConfigurationHelper<org.bukkit.configuration.file.YamlConfiguration>>bukkitYamlConfiguration(Path file, String defaults) <C extends org.bukkit.configuration.ConfigurationSection>
ConfigurationHelper<S>child(String key, Supplier<ConfigurationHelper<C>> supplier) <C extends org.bukkit.configuration.ConfigurationSection>
ConfigurationHelper<S>child(String key, Supplier<ConfigurationHelper<C>> supplier, Consumer<ConfigurationHelper<C>> consumer) <C extends org.bukkit.configuration.ConfigurationSection>
ConfigurationHelper<?>createChildren(String s, Supplier<ConfigurationHelper<C>> supplier) Map<String,ConfigurationHelper<org.bukkit.configuration.ConfigurationSection>> Get the children of this configuration helper.<T extends Configurable<?>>
TgetConfigurable(Class<T> klass) Get a configurable by class.List<Configurable<?>>Get all configurables.Map<Class<?>,Configurable<?>> Get all configurables by class.static org.bukkit.configuration.ConfigurationSectiongetOrCreateSection(org.bukkit.configuration.ConfigurationSection cfg, String path) load()Loads all configurables from the configuration section.static voidloadFromFile(org.bukkit.configuration.file.FileConfiguration cfg, Path file) loadOne(Configurable<?> c) Loads one configurable from the configuration section.static ConfigurationHelper<org.bukkit.configuration.file.YamlConfiguration>newYamlFileConfiguration(Path file, String defaults) removeConfigurable(Class<?> c) Remove a configurable by class.Remove a configurable by instance.save()Saves all configurables to a configuration section.static booleansaveDefaults(Class<?> resolver, String resource, Path to, boolean overwrite) static voidsaveToFile(org.bukkit.configuration.file.FileConfiguration cfg, Path file) toString()
-
Field Details
-
configurables
All configurables linearly. -
configurablesByClass
All configurables mapped by class. -
children
protected final HashMap<String,ConfigurationHelper<org.bukkit.configuration.ConfigurationSection>> childrenThe children of this helper. -
section
The configuration section to load from. -
beforeLoad
Runs before loading. -
afterSave
Runs after saving.
-
-
Constructor Details
-
ConfigurationHelper
public ConfigurationHelper()
-
-
Method Details
-
getConfigurables
Get all configurables.- Returns:
- An unmodifiable list.
-
getConfigurablesByClass
Get all configurables by class.- Returns:
- An unmodifiable map.
-
getChildren
Get the children of this configuration helper.- Returns:
- The children mapped by name.
-
getConfigurable
Get a configurable by class.- Type Parameters:
T- The configurable type.- Parameters:
klass- The class.- Returns:
- The configurable.
-
addConfigurable
Add a configurable. Registers it to the list and maps it by class.- Parameters:
c- The configurable.- Returns:
- This.
-
removeConfigurable
Remove a configurable by instance.- Parameters:
c- The configurable.- Returns:
- This.
-
removeConfigurable
Remove a configurable by class.- Parameters:
c- The class.- Returns:
- This.
-
section
-
afterSave
-
beforeLoad
-
child
public <C extends org.bukkit.configuration.ConfigurationSection> ConfigurationHelper<S> child(String key, Supplier<ConfigurationHelper<C>> supplier, Consumer<ConfigurationHelper<C>> consumer) -
child
public <C extends org.bukkit.configuration.ConfigurationSection> ConfigurationHelper<S> child(String key, Supplier<ConfigurationHelper<C>> supplier) -
unchild
-
save
Saves all configurables to a configuration section.- Returns:
- This.
-
loadOne
Loads one configurable from the configuration section.- Returns:
- This.
-
load
Loads all configurables from the configuration section.- Returns:
- This.
-
getChild
-
createChildren
public <C extends org.bukkit.configuration.ConfigurationSection> ConfigurationHelper<?> createChildren(String s, Supplier<ConfigurationHelper<C>> supplier) -
applyTemplate
-
toString
-
bukkitYamlConfiguration
public static Consumer<ConfigurationHelper<org.bukkit.configuration.file.YamlConfiguration>> bukkitYamlConfiguration(Path file, String defaults) -
getOrCreateSection
public static org.bukkit.configuration.ConfigurationSection getOrCreateSection(org.bukkit.configuration.ConfigurationSection cfg, String path) -
saveDefaults
-
saveToFile
-
loadFromFile
-
newYamlFileConfiguration
public static ConfigurationHelper<org.bukkit.configuration.file.YamlConfiguration> newYamlFileConfiguration(Path file, String defaults)
-