Flushable
, Serializable
, Cloneable
, Map<String,String>
, org.refcodes.component.Flushable
, org.refcodes.component.Flushable.FlushBuilder<ResourceProperties.ResourcePropertiesBuilder>
, Properties
, Properties.MutableProperties
, Properties.PropertiesBuilder
, ResourceProperties
, ResourceProperties.MutableResoureProperties
, ResourceProperties.ResourcePropertiesBuilder
, org.refcodes.mixin.DelimiterAccessor
, org.refcodes.mixin.Dumpable
, org.refcodes.mixin.TypeAccessor<String>
, org.refcodes.structure.CanonicalMap
, org.refcodes.structure.CanonicalMap.CanonicalMapBuilder
, org.refcodes.structure.CanonicalMap.MutableCanonicalMap
, org.refcodes.structure.Clearable
, org.refcodes.structure.Containable
, org.refcodes.structure.Dictionary<String,String>
, org.refcodes.structure.Dictionary.MutableDictionary<String,String>
, org.refcodes.structure.Dictionary.MutableDictionary.DictionaryBuilder<String,String,org.refcodes.structure.PathMap.PathMapBuilder<String>>
, org.refcodes.structure.Keys<String,String>
, org.refcodes.structure.Keys.MutableKeys<String,String>
, org.refcodes.structure.Keys.MutableValues<String,String>
, org.refcodes.structure.PathMap<String>
, org.refcodes.structure.PathMap.MutablePathMap<String>
, org.refcodes.structure.PathMap.PathMapBuilder<String>
, org.refcodes.structure.PropertiesAccessorMixin
, org.refcodes.structure.PropertiesAccessorMixin.PropertiesBuilderMixin<org.refcodes.structure.CanonicalMap.CanonicalMapBuilder>
, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMixin
, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMutatorMixin
public class XmlPropertiesBuilder extends AbstractResourcePropertiesBuilder implements ResourceProperties.ResourcePropertiesBuilder
ResourceProperties.ResourcePropertiesBuilder
interface with
support of so called "XML properties" (or just "properties").
For XML, see "https://en.wikipedia.org/wiki/XML".Modifier and Type | Class | Description |
---|---|---|
static class |
XmlPropertiesBuilder.XmlPropertiesBuilderFactory |
The
XmlPropertiesBuilder.XmlPropertiesBuilderFactory represents a
ResourcePropertiesFactory.ResourcePropertiesBuilderFactory creating instances of type
XmlPropertiesBuilder . |
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object,V extends Object>
org.refcodes.structure.CanonicalMap.CanonicalMapBuilder, org.refcodes.structure.CanonicalMap.MutableCanonicalMap
org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B extends org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B>>, org.refcodes.mixin.DelimiterAccessor.DelimiterMutator, org.refcodes.mixin.DelimiterAccessor.DelimiterProperty
org.refcodes.structure.Dictionary.MutableDictionary<K extends Object,V extends Object>
org.refcodes.structure.Dictionary.MutableDictionary.DictionaryBuilder<K extends Object,V extends Object,B extends org.refcodes.structure.Dictionary.MutableDictionary.DictionaryBuilder<K,V,B>>
org.refcodes.component.Flushable.FlushBuilder<B extends org.refcodes.component.Flushable.FlushBuilder<B>>
org.refcodes.structure.PathMap.MutablePathMap<T extends Object>, org.refcodes.structure.PathMap.PathMapBuilder<T extends Object>
Properties.MutableProperties, Properties.PropertiesBuilder
org.refcodes.structure.PropertiesAccessorMixin.PropertiesBuilderMixin<T extends Object>, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMixin, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMutatorMixin
ResourceProperties.MutableResoureProperties, ResourceProperties.ResourcePropertiesBuilder
Modifier and Type | Field | Description |
---|---|---|
static String |
COMMENT_CLOSE |
|
static String |
COMMENT_OPEN |
|
protected static String |
ROOT_ELEMENT |
_propertiesFile
VALUE_ATTRIBUTES
DEFAULT_COMMENT
Constructor | Description |
---|---|
XmlPropertiesBuilder() |
Create an empty
XmlPropertiesBuilder instance using the default
path delimiter "/" (Delimiter.PATH ) for the path declarations. |
XmlPropertiesBuilder(File aFile) |
Loads the XML properties from the given
File . |
XmlPropertiesBuilder(File aFile,
char... aDelimiters) |
Loads the XML properties from the given
File . |
XmlPropertiesBuilder(File aFile,
org.refcodes.runtime.ConfigLocator aConfigLocator) |
Loads or seeks the XML properties from the given
File . |
XmlPropertiesBuilder(File aFile,
org.refcodes.runtime.ConfigLocator aConfigLocator,
char... aDelimiters) |
Loads or seeks the XML properties from the given
File . |
XmlPropertiesBuilder(InputStream aInputStream) |
Reads the XML properties from the given
InputStream . |
XmlPropertiesBuilder(InputStream aInputStream,
char... aDelimiters) |
Reads the XML properties from the given
InputStream . |
XmlPropertiesBuilder(Class<?> aResourceClass,
String aFilePath) |
Loads the XML properties from the given file's path.
|
XmlPropertiesBuilder(Class<?> aResourceClass,
String aFilePath,
char... aDelimiters) |
Loads the XML properties from the given file's path.
|
XmlPropertiesBuilder(Class<?> aResourceClass,
String aFilePath,
org.refcodes.runtime.ConfigLocator aConfigLocator) |
Loads the XML properties from the given file's path.
|
XmlPropertiesBuilder(Class<?> aResourceClass,
String aFilePath,
org.refcodes.runtime.ConfigLocator aConfigLocator,
char... aDelimiters) |
Loads the XML properties from the given file's path.
|
XmlPropertiesBuilder(Object aObj) |
Create a
XmlPropertiesBuilder instance containing the elements as
of PathMap.MutablePathMap.insert(Object) using the default path delimiter
"/" (Delimiter.PATH ) for the path declarations:
"Inspects the given object and adds all elements found in the given
object. |
XmlPropertiesBuilder(String aFilePath) |
Loads the XML properties from the given file's path.
|
XmlPropertiesBuilder(String aFilePath,
char... aDelimiters) |
Loads the XML properties from the given file's path.
|
XmlPropertiesBuilder(String aFilePath,
org.refcodes.runtime.ConfigLocator aConfigLocator) |
Loads the XML properties from the given file's path.
|
XmlPropertiesBuilder(String aFilePath,
org.refcodes.runtime.ConfigLocator aConfigLocator,
char... aDelimiters) |
Loads the XML properties from the given file's path.
|
XmlPropertiesBuilder(URL aUrl) |
Loads the XML properties from the given
URL . |
XmlPropertiesBuilder(URL aUrl,
char... aDelimiters) |
Loads the XML properties from the given
URL . |
XmlPropertiesBuilder(Map<?,?> aProperties) |
Create a
XmlPropertiesBuilder instance containing the elements of
the provided Map instance using the default path delimiter "/"
(Delimiter.PATH ) for the path declarations |
XmlPropertiesBuilder(Properties aProperties) |
Create a
XmlPropertiesBuilder instance containing the elements of
the provided Properties instance using the default path delimiter
"/" (Delimiter.PATH ) for the path declarations |
XmlPropertiesBuilder(Properties.PropertiesBuilder aProperties) |
Create a
XmlPropertiesBuilder instance containing the elements of
the provided Properties.PropertiesBuilder instance using the default path
delimiter "/" (Delimiter.PATH ) for the path declarations |
Modifier and Type | Method | Description |
---|---|---|
Properties |
loadFrom(InputStream aInputStream,
char... aDelimiters) |
Loads the properties from the given
InputStream . |
void |
saveTo(OutputStream aOutputStream,
String aComment,
char aDelimiter) |
Saves the properties to the given
OutputStream using the
provided delimiter as the destination's path delimiter. |
equals, hashCode, toString
flush, isFlushable, loadFrom, postProcessAttributes, reload, reload, saveTo, seekFrom
toInstance, toInstance, toType, toType
withInsert, withInsert, withInsertFrom, withInsertTo
insert, insert, insertFrom, insertTo, putAll, toDump, toSourceCode, toSourceCode
withFlush, withFlushUnchecked
clear, clone, containsValue, entrySet, forEach, isEmpty, keySet, putAll, replaceAll, size, values
finalize, getClass, notify, notifyAll, wait, wait, wait
directories, directories, entries, entries, fromExternalKey, getArray, getArray, getRootPath, hasParentPath, isArray, isArray, isDirectory, isEntry, isRecord, isRootPath, keySet, paths, paths, records, records, toDataStructure, toDataStructure, toExternalKey, toMap, toNormalizedPath, toNormalizedPath, toParentPath, toPath
insert, insert, insert, insert, insertFrom, insertFrom, insertTo, insertTo, put, putArray, putArray, removeAll
withInsert, withInsert, withInsertFrom, withInsertTo
compute, computeIfAbsent, computeIfPresent, containsKey, get, getDelimiter, getOrDefault, getType, merge, put, putIfAbsent, remove, remove, replace, replace, toDataStructure
getDelimiter, getType, toMap, toProperties, toPropertyPath
containsValue, delete, delete, insert, insert, insertFrom, insertTo, put, putAll, putAll, putAll
childrenOf, retrieve, retrieveFrom, retrieveTo, withInsert, withInsert, withInsertFrom, withInsertTo
containsKey, get, getBoolean, getBoolean, getByte, getByte, getCharacter, getCharacter, getDouble, getDouble, getFloat, getFloat, getInteger, getInteger, getLong, getLong, getShort, getShort, use, useBoolean, useBoolean, useByte, useByte, useDouble, useDouble, useFloat, useFloat, useInteger, useInteger, useLong, useLong, useShort, useShort
withPut
put, put, putBoolean, putBoolean, putByte, putByte, putDouble, putDouble, putFloat, putFloat, putInteger, putInteger, putLong, putLong, putShort, putShort
childrenOf, retrieveFrom, retrieveTo
reload, reload
fileTo, fileTo, fileTo, fileTo, fileTo, fileTo, fileTo, fileTo, flush, loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, parseFrom, parseFrom, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, seekFrom, seekFrom, seekFrom, seekFrom, seekFrom, seekFrom, seekFrom, seekFrom, seekFrom, toSerialized, toSerialized
withInsert, withInsert, withInsertFrom, withInsertTo, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withLoadFrom, withPut, withPut, withPutBoolean, withPutByte, withPutDouble, withPutFloat, withPutInteger, withPutLong, withPutShort, withRemoveFrom, withSeekFrom, withSeekFrom, withSeekFrom, withSeekFrom, withSeekFrom, withSeekFrom, withSeekFrom
protected static final String ROOT_ELEMENT
public static final String COMMENT_OPEN
public static final String COMMENT_CLOSE
public XmlPropertiesBuilder()
XmlPropertiesBuilder
instance using the default
path delimiter "/" (Delimiter.PATH
) for the path declarations.public XmlPropertiesBuilder(Object aObj)
XmlPropertiesBuilder
instance containing the elements as
of PathMap.MutablePathMap.insert(Object)
using the default path delimiter
"/" (Delimiter.PATH
) for the path declarations:
"Inspects the given object and adds all elements found in the given
object. Elements of type Map
, Collection
and arrays are
identified and handled as of their type: The path for each value in a
Map
is appended with its according key. The path for each value
in a Collection
or array is appended with its according index of
occurrence (in case of a List
or an array, its actual index). In
case of reflection, the path for each member is appended with its
according mamber's name. All elements (e.g. the members and values) are
inspected recursively which results in the according paths of the
terminating values."aObj
- The object from which the elements are to be added.public XmlPropertiesBuilder(Properties aProperties)
XmlPropertiesBuilder
instance containing the elements of
the provided Properties
instance using the default path delimiter
"/" (Delimiter.PATH
) for the path declarationsaProperties
- the properties to be added.public XmlPropertiesBuilder(Properties.PropertiesBuilder aProperties)
XmlPropertiesBuilder
instance containing the elements of
the provided Properties.PropertiesBuilder
instance using the default path
delimiter "/" (Delimiter.PATH
) for the path declarationsaProperties
- the properties to be added.public XmlPropertiesBuilder(Map<?,?> aProperties)
XmlPropertiesBuilder
instance containing the elements of
the provided Map
instance using the default path delimiter "/"
(Delimiter.PATH
) for the path declarationsaProperties
- the properties to be added.public XmlPropertiesBuilder(File aFile) throws IOException, ParseException
File
.aFile
- The File
from which to load the properties.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(File aFile, char... aDelimiters) throws IOException, ParseException
File
.aFile
- The File
from which to load the properties.aDelimiters
- The path delimiters to be used when parsing the
source's properties.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(File aFile, org.refcodes.runtime.ConfigLocator aConfigLocator) throws IOException, ParseException
File
.
A provided ConfigLocator
describes the locations to additional
crawl for the desired file.aFile
- The File
from which to load the properties.aConfigLocator
- The ConfigLocator
describes the locations
to additional crawl for the desired file.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(File aFile, org.refcodes.runtime.ConfigLocator aConfigLocator, char... aDelimiters) throws IOException, ParseException
File
.
A provided ConfigLocator
describes the locations to additional
crawl for the desired file.aFile
- The File
from which to load the properties.aConfigLocator
- The ConfigLocator
describes the locations
to additional crawl for the desired file.aDelimiters
- The path delimiters to be used when parsing the
source's properties.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(String aFilePath) throws IOException, ParseException
aFilePath
- The path to the file from which to load the properties.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(String aFilePath, char... aDelimiters) throws IOException, ParseException
aFilePath
- The path to the file from which to load the properties.aDelimiters
- The path delimiters to be used when parsing the
source's properties.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(Class<?> aResourceClass, String aFilePath) throws IOException, ParseException
aResourceClass
- The class which's class loader is to take care of
loading the properties (from inside a JAR).aFilePath
- The file path of the class's resources from which to
load the properties.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(Class<?> aResourceClass, String aFilePath, char... aDelimiters) throws IOException, ParseException
aResourceClass
- The class which's class loader is to take care of
loading the properties (from inside a JAR).aFilePath
- The file path of the class's resources from which to
load the properties.aDelimiters
- The path delimiters to be used when parsing the
source's properties.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator) throws IOException, ParseException
ConfigLocator
describes the locations to additional
crawl for the desired file.aFilePath
- The path to the file from which to load the properties.aConfigLocator
- The ConfigLocator
describes the locations
to additional crawl for the desired file.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator, char... aDelimiters) throws IOException, ParseException
ConfigLocator
describes the locations to additional
crawl for the desired file.aFilePath
- The path to the file from which to load the properties.aConfigLocator
- The ConfigLocator
describes the locations
to additional crawl for the desired file.aDelimiters
- The path delimiters to be used when parsing the
source's properties.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(Class<?> aResourceClass, String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator) throws IOException, ParseException
ConfigLocator
describes the locations to additional
crawl for the desired file.
Finally (if nothing else succeeds) the properties are loaded by the
provided class's class loader which takes care of loading the properties
(in case the file path is a relative path, also the absolute path with a
prefixed path delimiter "/" is probed).aResourceClass
- The class which's class loader is to take care of
loading the properties (from inside a JAR).aFilePath
- The file path of the class's resources from which to
load the properties.aConfigLocator
- The ConfigLocator
describes the locations
to additional crawl for the desired file.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(Class<?> aResourceClass, String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator, char... aDelimiters) throws IOException, ParseException
ConfigLocator
describes the locations to additional
crawl for the desired file.
Finally (if nothing else succeeds) the properties are loaded by the
provided class's class loader which takes care of loading the properties
(in case the file path is a relative path, also the absolute path with a
prefixed path delimiter "/" is probed). *aResourceClass
- The class which's class loader is to take care of
loading the properties (from inside a JAR).aFilePath
- The file path of the class's resources from which to
load the properties.aConfigLocator
- The ConfigLocator
describes the locations
to additional crawl for the desired file.aDelimiters
- The path delimiters to be used when parsing the
source's properties.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(URL aUrl) throws IOException, ParseException
URL
.aUrl
- The URL
from which to read the properties.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(URL aUrl, char... aDelimiters) throws IOException, ParseException
URL
.aUrl
- The URL
from which to read the properties.aDelimiters
- The path delimiters to be used when parsing the
source's properties.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(InputStream aInputStream) throws IOException, ParseException
InputStream
.aInputStream
- The InputStream
from which to read the
properties.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public XmlPropertiesBuilder(InputStream aInputStream, char... aDelimiters) throws IOException, ParseException
InputStream
.aInputStream
- The InputStream
from which to read the
properties.aDelimiters
- The path delimiters to be used when parsing the
source's properties.IOException
- thrown in case accessing or processing the properties
file failed.ParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public Properties loadFrom(InputStream aInputStream, char... aDelimiters) throws IOException, ParseException
InputStream
. Save them
using the method ResourceProperties.MutableResoureProperties.saveTo(OutputStream)
.
This is the hook-method of the default implementation for loading the
properties. In case you want to implement ResourceProperties
which support other notations than the properties notation
(path=value
), then you overwrite this method in your
implementation accordingly.loadFrom
in interface ResourceProperties.MutableResoureProperties
aInputStream
- The InputStream
from which to load the
properties.aDelimiters
- The path delimiters to be used when parsing the
source's properties (in case the the serialized format
supports / requires the such).Properties
as loaded from the resource and
applied to this instance.IOException
- thrown in case loading the properties failedParseException
- Signals that an error has been reached
unexpectedly while parsing the data to be loaded.public void saveTo(OutputStream aOutputStream, String aComment, char aDelimiter) throws IOException
OutputStream
using the
provided delimiter as the destination's path delimiter. Load them via
ResourceProperties.MutableResoureProperties.loadFrom(InputStream, char...)
This is the hook-method of the default implementation for writing
(saving) the properties. In case you want to implement
ResourceProperties
which support other notations than the
properties notation (path=value
), then you overwrite
this method in your implementation accordingly.saveTo
in interface ResourceProperties.MutableResoureProperties
aOutputStream
- The OutputStream
to which to save the
properties to.aComment
- The description for the properties file.aDelimiter
- The path delimiter to be used when writing out the
properties to the destination (in case the the serialized
format supports / requires the such).IOException
- thrown in case saving the properties failedCopyright © 2018. All rights reserved.