public class ConvertedFileConfig extends ConfigWrapper<C> implements FileConfig
Config.Entryconfig| Constructor and Description |
|---|
ConvertedFileConfig(FileConfig config,
ConversionTable readTable,
ConversionTable writeTable,
java.util.function.Predicate<java.lang.Class<?>> supportPredicate) |
ConvertedFileConfig(FileConfig config,
java.util.function.Function<java.lang.Object,java.lang.Object> readConversion,
java.util.function.Function<java.lang.Object,java.lang.Object> writeConversion,
java.util.function.Predicate<java.lang.Class<?>> supportPredicate) |
| Modifier and Type | Method and Description |
|---|---|
<R> R |
bulkRead(java.util.function.Function<? super UnmodifiableConfig,R> action)
Performs multiple reads as a single atomic operation and returns a value.
|
<R> R |
bulkUpdate(java.util.function.Function<? super Config,R> action)
Performs multiple read/write operations, and do not save the configuration until the end
(unless
save() is called by action). |
void |
close()
Closes this FileConfig, releases its associated resources (if any), and ensure that the
ongoing saving operations complete.
|
ConfigFormat<?> |
configFormat()
Returns the config's format.
|
ConcurrentConfig |
createSubConfig()
Creates a new sub config of this config, as created when a subconfig's creation is
implied by
Config.set(List, Object) or Config.add(List, Object). |
java.io.File |
getFile() |
java.nio.file.Path |
getNioPath() |
<T> T |
getRaw(java.util.List<java.lang.String> path)
Gets a value from the config.
|
void |
load()
(Re)loads this config from the file.
|
void |
save()
Saves this config as soon as possible.
|
<T> T |
set(java.util.List<java.lang.String> path,
java.lang.Object value)
Sets a config value.
|
java.lang.String |
toString() |
java.util.Map<java.lang.String,java.lang.Object> |
valueMap()
Returns a Map view of the config's values.
|
add, clear, entrySet, removecontains, equals, hashCode, isEmpty, sizeclone, finalize, getClass, notify, notifyAll, wait, wait, waitbuilder, builder, builder, builder, builder, builder, bulkUpdate, checked, of, of, of, of, of, of, ofConcurrent, ofConcurrent, ofConcurrent, ofConcurrent, ofConcurrent, ofConcurrentbulkReadadd, add, addAll, clear, concurrentCopy, concurrentCopy, copy, copy, copy, copy, entrySet, getDefaultMapCreator, getDefaultMapCreator, inMemory, inMemoryConcurrent, inMemoryUniversal, inMemoryUniversalConcurrent, isInsertionOrderPreserved, of, of, ofConcurrent, putAll, remove, remove, removeAll, set, set, setInsertionOrderPreserved, unmodifiable, update, update, valueMap, wrapapply, apply, configFormat, contains, contains, get, get, getByte, getByte, getByteOrElse, getByteOrElse, getChar, getChar, getCharOrElse, getCharOrElse, getEnum, getEnum, getEnum, getEnum, getEnumOrElse, getEnumOrElse, getEnumOrElse, getEnumOrElse, getEnumOrElse, getEnumOrElse, getEnumOrElse, getEnumOrElse, getInt, getInt, getIntOrElse, getIntOrElse, getIntOrElse, getIntOrElse, getLong, getLong, getLongOrElse, getLongOrElse, getLongOrElse, getLongOrElse, getOptional, getOptional, getOptionalEnum, getOptionalEnum, getOptionalEnum, getOptionalEnum, getOptionalInt, getOptionalInt, getOptionalLong, getOptionalLong, getOrElse, getOrElse, getOrElse, getOrElse, getRaw, getRaw, getShort, getShort, getShortOrElse, getShortOrElse, isEmpty, isNull, isNull, sizepublic ConvertedFileConfig(FileConfig config, ConversionTable readTable, ConversionTable writeTable, java.util.function.Predicate<java.lang.Class<?>> supportPredicate)
public ConvertedFileConfig(FileConfig config, java.util.function.Function<java.lang.Object,java.lang.Object> readConversion, java.util.function.Function<java.lang.Object,java.lang.Object> writeConversion, java.util.function.Predicate<java.lang.Class<?>> supportPredicate)
public java.io.File getFile()
getFile in interface FileConfigpublic java.nio.file.Path getNioPath()
getNioPath in interface FileConfigpublic void save()
FileConfigsave in interface FileConfigpublic void load()
FileConfigload in interface FileConfigpublic void close()
FileConfig
A closed FileConfig can still be used via the Config's methods, but FileConfig.save() and
FileConfig.load() will throw an IllegalStateException. Closing an aleady closed FileConfig has
no effect.
close in interface FileConfigclose in interface java.lang.AutoCloseablepublic <R> R bulkRead(java.util.function.Function<? super UnmodifiableConfig,R> action)
ConcurrentConfigIt is guaranteed that the content of the config, accessed through the provided "view", will not change during the entire operation. The configuration must be used exclusively through the object passed to the consumer (the "view"), not with the original reference. After the bulk operation, the view cannot be used anymore.
Here is an example:
String combined = config.bulkUpdate(conf -> {
String a = conf.get("a");
String b = conf.get("b");
return a + b;
// note that we use `conf` and not `config`!
});
bulkRead in interface ConcurrentConfigR - the type of the function's resultaction - a function to execute on the configuration viewpublic <R> R bulkUpdate(java.util.function.Function<? super Config,R> action)
FileConfigsave() is called by action).
This is a way of manually grouping config modifications together.
If this configuration automatically saves, it will not do so before the end of the bulkUpdate.
This has the same guarantees of consistency as ConcurrentConfig.bulkUpdate(Function).
bulkUpdate in interface ConcurrentConfigbulkUpdate in interface FileConfigR - the type of the function's resultaction - a function to execute on the configuration viewpublic ConcurrentConfig createSubConfig()
ConfigConfig.set(List, Object) or Config.add(List, Object).createSubConfig in interface ConcurrentConfigcreateSubConfig in interface ConfigcreateSubConfig in class ConfigWrapper<FileConfig>public <T> T set(java.util.List<java.lang.String> path,
java.lang.Object value)
Configset in interface Configset in class ConfigWrapper<C extends Config>T - the type of the old valuepath - the value's path, each element of the list is a different part of the path.value - the value to setnullpublic java.util.Map<java.lang.String,java.lang.Object> valueMap()
UnmodifiableConfigvalueMap in interface ConfigvalueMap in interface UnmodifiableConfigvalueMap in class UnmodifiableConfigWrapper<C extends Config>public <T> T getRaw(java.util.List<java.lang.String> path)
UnmodifiableConfigNullObject.NULL_OBJECT to null.getRaw in interface UnmodifiableConfiggetRaw in class UnmodifiableConfigWrapper<C extends Config>T - the value's typepath - the value's path, each element of the list is a different part of the path.null if there is no such value.public ConfigFormat<?> configFormat()
UnmodifiableConfigconfigFormat in interface UnmodifiableConfigconfigFormat in class UnmodifiableConfigWrapper<C extends Config>public java.lang.String toString()
toString in class ConfigWrapper<C extends Config>