Class GsonConfigurationLoader
- java.lang.Object
-
- org.spongepowered.configurate.loader.AbstractConfigurationLoader<BasicConfigurationNode>
-
- org.spongepowered.configurate.gson.GsonConfigurationLoader
-
- All Implemented Interfaces:
ConfigurationNodeFactory<BasicConfigurationNode>
,ConfigurationLoader<BasicConfigurationNode>
public final class GsonConfigurationLoader extends AbstractConfigurationLoader<BasicConfigurationNode>
A loader for JSON-formatted configurations, using the GSON library for parsing and generation.- Since:
- 4.0.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GsonConfigurationLoader.Builder
Builds aGsonConfigurationLoader
.
-
Field Summary
-
Fields inherited from class org.spongepowered.configurate.loader.AbstractConfigurationLoader
CONFIGURATE_LINE_PATTERN, CONFIGURATE_LINE_SEPARATOR, sink, source, SYSTEM_LINE_SEPARATOR
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static @NonNull GsonConfigurationLoader.Builder
builder()
Creates a newGsonConfigurationLoader
builder.protected void
checkCanWrite(ConfigurationNode node)
Perform format-specific validation of a node.BasicConfigurationNode
createNode(ConfigurationOptions options)
Create an empty node with the provided options.static TypeSerializerCollection
gsonSerializers()
Get aTypeSerializerCollection
for handling Gson types.protected void
loadInternal(BasicConfigurationNode node, java.io.BufferedReader reader)
Using a created node, attempt to read a configuration file.protected void
saveInternal(ConfigurationNode node, java.io.Writer writer)
Perform a save of the node to the provided writer.-
Methods inherited from class org.spongepowered.configurate.loader.AbstractConfigurationLoader
canLoad, canSave, defaultCommentHandler, defaultOptions, load, loadToReference, save, writeHeaderInternal
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.spongepowered.configurate.loader.ConfigurationLoader
load
-
Methods inherited from interface org.spongepowered.configurate.ConfigurationNodeFactory
createNode, createNode, createNode, toListCollector, toListCollector, toMapCollector, toMapCollector
-
-
-
-
Method Detail
-
builder
public static @NonNull GsonConfigurationLoader.Builder builder()
Creates a newGsonConfigurationLoader
builder.- Returns:
- a new builder
- Since:
- 4.0.0
-
gsonSerializers
public static TypeSerializerCollection gsonSerializers()
Get aTypeSerializerCollection
for handling Gson types.Currently, this serializer can handle:
JsonElement
and its subtypes:JsonArray
,JsonObject
,JsonPrimitive
, andJsonNull
- Returns:
- gson type serializers
- Since:
- 4.1.0
-
checkCanWrite
protected void checkCanWrite(ConfigurationNode node) throws ConfigurateException
Description copied from class:AbstractConfigurationLoader
Perform format-specific validation of a node.This method will be called before a writer is opened, allowing the loader to perform any basic validation it may need to before it opens a writer replacing an existing file.
- Overrides:
checkCanWrite
in classAbstractConfigurationLoader<BasicConfigurationNode>
- Parameters:
node
- the node to write- Throws:
ConfigurateException
- if any invalid data is present
-
loadInternal
protected void loadInternal(BasicConfigurationNode node, java.io.BufferedReader reader) throws ParsingException
Description copied from class:AbstractConfigurationLoader
Using a created node, attempt to read a configuration file.The header will already have been read if applicable.
- Specified by:
loadInternal
in classAbstractConfigurationLoader<BasicConfigurationNode>
- Parameters:
node
- node to load intoreader
- reader to load from- Throws:
ParsingException
- if an error occurs at any stage of loading
-
saveInternal
protected void saveInternal(ConfigurationNode node, java.io.Writer writer) throws ConfigurateException
Description copied from class:AbstractConfigurationLoader
Perform a save of the node to the provided writer.- Specified by:
saveInternal
in classAbstractConfigurationLoader<BasicConfigurationNode>
- Parameters:
node
- node to savewriter
- writer to output to- Throws:
ConfigurateException
- if any of the node's data is unsavable
-
createNode
public BasicConfigurationNode createNode(ConfigurationOptions options)
Description copied from interface:ConfigurationNodeFactory
Create an empty node with the provided options.Node options may be overridden if the factory enforces specific requirements on options.
- Parameters:
options
- node options- Returns:
- newly created empty node
-
-