Class XmlConfigurationLoader.Builder
- Enclosing class:
- XmlConfigurationLoader
XmlConfigurationLoader
.
This builder supports the following options:
- Since:
- 4.0.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final net.kyori.option.Option<String>
The default tag name the created loader should use.static final net.kyori.option.Option<Boolean>
Whether an XML declaration should be included as the first line of emitted documents from the created loader.static final net.kyori.option.Option<Integer>
The size of indent (in spaces) the created loader should use.static final net.kyori.option.Option<Boolean>
Whether externally included content should be resolved in documents read by the created loader.static final net.kyori.option.OptionSchema
A schema of options available to configure the XML loader.static final net.kyori.option.Option<Boolean>
Whether explicit node types should be written out (to disambiguate between maps and lists).Fields inherited from class org.spongepowered.configurate.loader.AbstractConfigurationLoader.Builder
defaultOptions, HEADER_MODE, headerMode, sink, source
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds the loader.@NonNull String
Gets the default tag name to be used by the resultant loader.defaultTagName
(String defaultTagName) Sets the default tag name the resultant loader should use.boolean
Gets if the resultant loader should include the XML declaration header when saving.includesXmlDeclaration
(boolean includeXmlDeclaration) Sets if the resultant loader should include the XML declaration header when saving.int
indent()
Gets the level of indentation to be used by the resultant loader.@NonNull XmlConfigurationLoader.Builder
indent
(int indent) Sets the level of indentation the resultant loader should use.protected net.kyori.option.OptionSchema
Get the schema of available options that can be set on this loader.boolean
Get whether external content should be resolved.resolvesExternalContent
(boolean resolvesExternalContent) Sets whether external content should be resolved when loading data.@Nullable Schema
schema()
Gets theSchema
to be used by the resultant loader.Sets theSchema
the resultant loader should use.boolean
Gets if explicit type attributes should be written by the loader.writesExplicitType
(boolean writeExplicitType) Sets if the resultant loader should write the explicit type of each node when saving nodes.Methods inherited from class org.spongepowered.configurate.loader.AbstractConfigurationLoader.Builder
buildAndLoadString, buildAndSaveString, defaultOptions, defaultOptions, defaultOptions, editOptions, file, headerMode, headerMode, optionState, optionState, optionStateBuilder, path, sink, sink, source, source, url
-
Field Details
-
SCHEMA
A schema of options available to configure the XML loader.- Since:
- 4.2.0
-
DEFAULT_TAG_NAME
The default tag name the created loader should use.- Since:
- 4.2.0
- See Also:
-
INDENT
The size of indent (in spaces) the created loader should use.- Since:
- 4.2.0
- See Also:
-
WRITE_EXPLICIT_TYPE
Whether explicit node types should be written out (to disambiguate between maps and lists).- Since:
- 4.2.0
- See Also:
-
RESOLVE_EXTERNAL_CONTENT
Whether externally included content should be resolved in documents read by the created loader.- Since:
- 4.2.0
- See Also:
-
INCLUDE_XML_DECLARATION
Whether an XML declaration should be included as the first line of emitted documents from the created loader.- Since:
- 4.2.0
- See Also:
-
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
optionSchema
Description copied from class:AbstractConfigurationLoader.Builder
Get the schema of available options that can be set on this loader.This schema should inherit from
AbstractConfigurationLoader.Builder.UNSAFE_SCHEMA
.- Overrides:
optionSchema
in classAbstractConfigurationLoader.Builder<XmlConfigurationLoader.Builder,
XmlConfigurationLoader> - Returns:
- the option schema
-
indent
Sets the level of indentation the resultant loader should use.- Parameters:
indent
- the indent level- Returns:
- this builder (for chaining)
- Since:
- 4.0.0
-
indent
Gets the level of indentation to be used by the resultant loader.- Returns:
- the indent level
- Since:
- 4.0.0
-
schema
Sets theSchema
the resultant loader should use.- Parameters:
schema
- the schema- Returns:
- this builder (for chaining)
- Since:
- 4.0.0
-
schema
Gets theSchema
to be used by the resultant loader.- Returns:
- the schema
- Since:
- 4.0.0
-
defaultTagName
Sets the default tag name the resultant loader should use.- Parameters:
defaultTagName
- the default tag name- Returns:
- this builder (for chaining)
- Since:
- 4.0.0
-
defaultTagName
Gets the default tag name to be used by the resultant loader.- Returns:
- the default tag name
- Since:
- 4.0.0
-
writesExplicitType
Sets if the resultant loader should write the explicit type of each node when saving nodes.This is necessary in some cases, as XML has no explicit definition of an array or list. The loader is able to infer the type in some cases, but this is inaccurate in some cases, for example lists with only one element.
- Parameters:
writeExplicitType
- if the loader should write explicit types- Returns:
- this builder (for chaining)
- Since:
- 4.0.0
-
writesExplicitType
Gets if explicit type attributes should be written by the loader.See the method doc at
writesExplicitType(boolean)
for a more detailed explanation.- Returns:
- the default tag name
- Since:
- 4.0.0
-
includesXmlDeclaration
Sets if the resultant loader should include the XML declaration header when saving.- Parameters:
includeXmlDeclaration
- if the XML declaration should be included- Returns:
- this builder (for chaining)
- Since:
- 4.0.0
-
includesXmlDeclaration
Gets if the resultant loader should include the XML declaration header when saving.- Returns:
- if the XML declaration should be included
- Since:
- 4.0.0
-
resolvesExternalContent
Sets whether external content should be resolved when loading data.Resolving this content could result in network requests being made, and will allow configuration files to access arbitrary URLs This setting should only be enabled with caution.
Additionally, through use of features such as entity expansion and XInclude, documents can be crafted that will grow exponentially when parsed, requiring an amount of memory to store that may be greater than what is available for the JVM.
By default, this is false.
- Parameters:
resolvesExternalContent
- whether to resolve external entities- Returns:
- this builder
- Since:
- 4.0.0
-
resolvesExternalContent
Get whether external content should be resolved.- Returns:
- value, defaulting to false
- Since:
- 4.0.0
-
build
Description copied from class:AbstractConfigurationLoader.Builder
Builds the loader.- Specified by:
build
in classAbstractConfigurationLoader.Builder<XmlConfigurationLoader.Builder,
XmlConfigurationLoader> - Returns:
- a new loader
-