public class JavaPropertiesBuilderImpl extends AbstractResourcePropertiesBuilder implements ResourceProperties.ResourcePropertiesBuilder
ResourceProperties.ResourcePropertiesBuilder
interface with
support of so called "Java properties" (or just "properties").
For Java properties, see "https://en.wikipedia.org/wiki/.properties".AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
ResourceProperties.MutableResourcProperties, ResourceProperties.ResourcePropertiesBuilder
Properties.MutableProperties, Properties.PropertiesBuilder
org.refcodes.structure.CanonicalMap.CanonicalMapBuilder, org.refcodes.structure.CanonicalMap.MutableCanonicalMap
org.refcodes.structure.PropertiesAccessorMixin.PropertiesBuilderMixin<T>, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMixin, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMutatorMixin
org.refcodes.structure.PathMap.MutablePathMap<T>, org.refcodes.structure.PathMap.PathMapBuilder<T>
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.mixin.TypeAccessor.TypeMutator<T>, org.refcodes.mixin.TypeAccessor.TypeProperty<T>
_propertiesFile
DEFAULT_COMMENT
Constructor and Description |
---|
JavaPropertiesBuilderImpl()
Create an empty
JavaPropertiesBuilderImpl instance using the
default path delimiter "/" (Delimiter.PATH ) for the path
declarations. |
JavaPropertiesBuilderImpl(Class<?> aResourceClass,
String aFilePath)
Loads the Java properties from the given file's path.
|
JavaPropertiesBuilderImpl(Class<?> aResourceClass,
String aFilePath,
boolean isSeekFile)
Loads the Java properties from the given file's path.
|
JavaPropertiesBuilderImpl(Class<?> aResourceClass,
String aFilePath,
boolean isSeekFile,
char... aDelimiters)
Loads the Java properties from the given file's path.
|
JavaPropertiesBuilderImpl(Class<?> aResourceClass,
String aFilePath,
char... aDelimiters)
Loads the Java properties from the given file's path.
|
JavaPropertiesBuilderImpl(File aFile)
Loads the Java properties from the given
File . |
JavaPropertiesBuilderImpl(File aFile,
boolean isSeekFile)
Loads or seeks the Java properties from the given
File . |
JavaPropertiesBuilderImpl(File aFile,
boolean isSeekFile,
char... aDelimiters)
Loads or seeks the Java properties from the given
File . |
JavaPropertiesBuilderImpl(File aFile,
char... aDelimiters)
Loads the Java properties from the given
File . |
JavaPropertiesBuilderImpl(InputStream aInputStream)
Reads the Java properties from the given
InputStream . |
JavaPropertiesBuilderImpl(InputStream aInputStream,
char... aDelimiters)
Reads the Java properties from the given
InputStream . |
JavaPropertiesBuilderImpl(Map<?,?> aProperties)
Create a
JavaPropertiesBuilderImpl instance containing the
elements of the provided Map instance using the default path
delimiter "/" (Delimiter.PATH ) for the path declarations |
JavaPropertiesBuilderImpl(Object aObj)
Create a
JavaPropertiesBuilderImpl instance containing the
elements as of MutablePathMap#insert(Object) using the default
path delimiter "/" (Delimiter.PATH ) for the path declarations:
"Insects the given object and adds all elements found in the given
object. |
JavaPropertiesBuilderImpl(Properties.PropertiesBuilder aProperties)
Create a
JavaPropertiesBuilderImpl instance containing the
elements of the provided PropertiesBuilder instance using the
default path delimiter "/" (Delimiter.PATH ) for the path
declarations |
JavaPropertiesBuilderImpl(Properties aProperties)
Create a
JavaPropertiesBuilderImpl instance containing the
elements of the provided Properties instance using the default
path delimiter "/" (Delimiter.PATH ) for the path declarations |
JavaPropertiesBuilderImpl(String aFilePath)
Loads the Java properties from the given file's path.
|
JavaPropertiesBuilderImpl(String aFilePath,
boolean isSeekFile)
Loads the Java properties from the given file's path.
|
JavaPropertiesBuilderImpl(String aFilePath,
boolean isSeekFile,
char... aDelimiters)
Loads the Java properties from the given file's path.
|
JavaPropertiesBuilderImpl(String aFilePath,
char... aDelimiters)
Loads the Java properties from the given file's path.
|
JavaPropertiesBuilderImpl(URL aUrl)
Loads the Java properties from the given
URL . |
JavaPropertiesBuilderImpl(URL aUrl,
char... aDelimiters)
Loads the Java properties from the given
URL . |
Modifier and Type | Method and Description |
---|---|
void |
loadFrom(InputStream aInputStream,
char... aDelimiters)
Loads the properties from the given
InputStream . |
ResourceProperties.ResourcePropertiesBuilder |
retrieveFrom(String aFromPath) |
ResourceProperties.ResourcePropertiesBuilder |
retrieveTo(String aToPath) |
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. |
flush, seekFrom
compute, computeIfAbsent, computeIfPresent, containsKey, get, getDelimiter, getOrDefault, getType, merge, put, putIfAbsent, remove, remove, replace, replace, toDataStructure
clear, clone, containsValue, entrySet, forEach, isEmpty, keySet, putAll, replaceAll, size, values
equals, hashCode, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
retrieve, 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
withPut
put, put, putBoolean, putBoolean, putByte, putByte, putDouble, putDouble, putFloat, putFloat, putInteger, putInteger, putLong, putLong, putShort, putShort
loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, loadFrom, parseFrom, parseFrom, seekFrom, seekFrom, seekFrom, seekFrom, seekFrom, seekFrom
saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, saveTo, toSerialized, toSerialized
containsValue, delete, put, putAll, putAll, putAll
getType, toMap, toProperties, toPropertyPath
putAll, toDump, toSourceCode
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
insert, insert, insertFrom, insertTo, put, putArray, putArray, removeAll
directories, directories, entries, entries, fromExternalKey, getArray, getArray, hasParentPath, isArray, isArray, isDirectory, isEntry, isRecord, isRootPath, keySet, paths, paths, records, records, toDataStructure, toDataStructure, toExternalKey, toMap, toNormalizedPath, toNormalizedPath, toParentPath, toRootPath
public JavaPropertiesBuilderImpl()
JavaPropertiesBuilderImpl
instance using the
default path delimiter "/" (Delimiter.PATH
) for the path
declarations.public JavaPropertiesBuilderImpl(Object aObj)
JavaPropertiesBuilderImpl
instance containing the
elements as of MutablePathMap#insert(Object)
using the default
path delimiter "/" (Delimiter.PATH
) for the path declarations:
"Insects 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 JavaPropertiesBuilderImpl(Properties aProperties)
JavaPropertiesBuilderImpl
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 JavaPropertiesBuilderImpl(Properties.PropertiesBuilder aProperties)
JavaPropertiesBuilderImpl
instance containing the
elements of the provided PropertiesBuilder
instance using the
default path delimiter "/" (Delimiter.PATH
) for the path
declarationsaProperties
- the properties to be added.public JavaPropertiesBuilderImpl(Map<?,?> aProperties)
JavaPropertiesBuilderImpl
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 JavaPropertiesBuilderImpl(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 JavaPropertiesBuilderImpl(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 JavaPropertiesBuilderImpl(File aFile, boolean isSeekFile) throws IOException, ParseException
File
.
In case you enable the "seek" argument and directly loading from the
File
does not succeed, then loads from the first folder
containing such a file as of the specification for the method
RuntimeUtility.toConfigDirs()
.aFile
- The File
from which to load the properties.isSeekFile
- When true, then the properties are loaded as of the
"seek" functionality described above.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 JavaPropertiesBuilderImpl(File aFile, boolean isSeekFile, char... aDelimiters) throws IOException, ParseException
File
.
In case you enable the "seek" argument and directly loading from the
File
does not succeed, then loads from the first folder
containing such a file as of the specification for the method
RuntimeUtility.toConfigDirs()
.aFile
- The File
from which to load the properties.isSeekFile
- When true, then the properties are loaded as of the
"seek" functionality described above.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 JavaPropertiesBuilderImpl(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 JavaPropertiesBuilderImpl(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 JavaPropertiesBuilderImpl(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 JavaPropertiesBuilderImpl(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 JavaPropertiesBuilderImpl(String aFilePath, boolean isSeekFile) throws IOException, ParseException
File
does not succeed, then loads from the first folder
containing such a file as of the specification for the method
RuntimeUtility.toConfigDirs()
.aFilePath
- The path to the file from which to load the properties.isSeekFile
- When true, then the properties are loaded as of the
"seek" functionality described above.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 JavaPropertiesBuilderImpl(String aFilePath, boolean isSeekFile, char... aDelimiters) throws IOException, ParseException
File
does not succeed, then loads from the first folder
containing such a file as of the specification for the method
RuntimeUtility.toConfigDirs()
.aFilePath
- The path to the file from which to load the properties.isSeekFile
- When true, then the properties are loaded as of the
"seek" functionality described above.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 JavaPropertiesBuilderImpl(Class<?> aResourceClass, String aFilePath, boolean isSeekFile) throws IOException, ParseException
File
does not succeed, then loads from the first folder
containing such a file as of the specification for the method
RuntimeUtility.toConfigDirs()
.
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.isSeekFile
- When true, then the properties are loaded as of the
"seek" functionality described above.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 JavaPropertiesBuilderImpl(Class<?> aResourceClass, String aFilePath, boolean isSeekFile, char... aDelimiters) throws IOException, ParseException
File
does not succeed, then loads from the first folder
containing such a file as of the specification for the method
RuntimeUtility.toConfigDirs()
.
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.isSeekFile
- When true, then the properties are loaded as of the
"seek" functionality described above.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 JavaPropertiesBuilderImpl(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 JavaPropertiesBuilderImpl(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 JavaPropertiesBuilderImpl(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 JavaPropertiesBuilderImpl(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 void loadFrom(InputStream aInputStream, char... aDelimiters) throws IOException, ParseException
ResourceProperties.MutableResourcProperties
InputStream
. Save them
using the method ResourceProperties.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.MutableResourcProperties
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).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
ResourceProperties
OutputStream
using the provided
delimiter as the destination's path delimiter. Load them via
ResourceProperties.MutableResourcProperties.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
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 failedpublic ResourceProperties.ResourcePropertiesBuilder retrieveFrom(String aFromPath)
retrieveFrom
in interface Properties
retrieveFrom
in interface Properties.MutableProperties
retrieveFrom
in interface Properties.PropertiesBuilder
retrieveFrom
in interface ResourceProperties
retrieveFrom
in interface ResourceProperties.MutableResourcProperties
retrieveFrom
in interface ResourceProperties.ResourcePropertiesBuilder
retrieveFrom
in interface org.refcodes.structure.CanonicalMap.CanonicalMapBuilder
retrieveFrom
in interface org.refcodes.structure.CanonicalMap.MutableCanonicalMap
retrieveFrom
in interface org.refcodes.structure.PathMap<String>
retrieveFrom
in interface org.refcodes.structure.PathMap.MutablePathMap<String>
retrieveFrom
in interface org.refcodes.structure.PathMap.PathMapBuilder<String>
retrieveFrom
in class AbstractResourcePropertiesBuilder
public ResourceProperties.ResourcePropertiesBuilder retrieveTo(String aToPath)
retrieveTo
in interface Properties
retrieveTo
in interface Properties.MutableProperties
retrieveTo
in interface Properties.PropertiesBuilder
retrieveTo
in interface ResourceProperties
retrieveTo
in interface ResourceProperties.MutableResourcProperties
retrieveTo
in interface ResourceProperties.ResourcePropertiesBuilder
retrieveTo
in interface org.refcodes.structure.CanonicalMap.CanonicalMapBuilder
retrieveTo
in interface org.refcodes.structure.CanonicalMap.MutableCanonicalMap
retrieveTo
in interface org.refcodes.structure.PathMap<String>
retrieveTo
in interface org.refcodes.structure.PathMap.MutablePathMap<String>
retrieveTo
in interface org.refcodes.structure.PathMap.PathMapBuilder<String>
retrieveTo
in class AbstractResourcePropertiesBuilder
Copyright © 2017. All rights reserved.