Class XmlConfigurationLoader.Builder
- Enclosing class:
- XmlConfigurationLoader
XmlConfigurationLoader
.
This builder supports the following options:
- <prefix>.xml.default-tag-name
- Equivalent to
defaultTagName(String)
- <prefix>.xml.indent
- Equivalent to
indent(int)
- <prefix>.xml.writes-explicit-type
- Equivalent to
writesExplicitType(boolean)
- <prefix>.xml.resolves-external-content
- Equivalent to
resolvesExternalContent(boolean)
- <prefix>.xml.includes-xml-declaration
- Equivalent to
includesXmlDeclaration(boolean)
- Since:
- 4.0.0
-
Field Summary
Fields inherited from class org.spongepowered.configurate.loader.AbstractConfigurationLoader.Builder
DEFAULT_OPTIONS_SOURCE, defaultOptions, headerMode, sink, source
-
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 void
populate
(LoaderOptionSource options) Populate options from the provided source.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, file, from, headerMode, headerMode, path, sink, sink, source, source, url
-
Method Details
-
populate
Description copied from class:AbstractConfigurationLoader.Builder
Populate options from the provided source.The source will have already been validated for nullness.
- Overrides:
populate
in classAbstractConfigurationLoader.Builder<XmlConfigurationLoader.Builder,
XmlConfigurationLoader> - Parameters:
options
- the options to read
-
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
-