Class JavaProperties

All Implemented Interfaces:
org.refcodes.mixin.AnnotatorAccessor, org.refcodes.mixin.DelimiterAccessor, org.refcodes.mixin.EmptyAccessor, org.refcodes.mixin.TypeAccessor<String>, Properties, ResourceProperties, org.refcodes.struct.CanonicalMap, org.refcodes.struct.Containable, org.refcodes.struct.InterOperableMap<String>, org.refcodes.struct.Keys<String,String>, org.refcodes.struct.PathMap<String>, org.refcodes.struct.Table<String,String>

public class JavaProperties extends AbstractResourceProperties
Implementation of the ResourceProperties interface with support of so called "Java properties" (or just "properties"). For Java properties, see "https://en.wikipedia.org/wiki/.properties".
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 

    Nested classes/interfaces inherited from interface org.refcodes.mixin.AnnotatorAccessor

    org.refcodes.mixin.AnnotatorAccessor.AnnotatorBuilder<B>, org.refcodes.mixin.AnnotatorAccessor.AnnotatorMutator, org.refcodes.mixin.AnnotatorAccessor.AnnotatorProperty

    Nested classes/interfaces inherited from interface org.refcodes.struct.CanonicalMap

    org.refcodes.struct.CanonicalMap.CanonicalMapBuilder, org.refcodes.struct.CanonicalMap.MutableCanonicalMap

    Nested classes/interfaces inherited from interface org.refcodes.mixin.DelimiterAccessor

    org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B>, org.refcodes.mixin.DelimiterAccessor.DelimiterMutator, org.refcodes.mixin.DelimiterAccessor.DelimiterProperty

    Nested classes/interfaces inherited from interface org.refcodes.mixin.EmptyAccessor

    org.refcodes.mixin.EmptyAccessor.EmptyBuilder<B>, org.refcodes.mixin.EmptyAccessor.EmptyMutator, org.refcodes.mixin.EmptyAccessor.EmptyProperty

    Nested classes/interfaces inherited from interface org.refcodes.struct.InterOperableMap

    org.refcodes.struct.InterOperableMap.InterOperableMapBuilder<T>, org.refcodes.struct.InterOperableMap.MutableInterOperableMap<T>

    Nested classes/interfaces inherited from interface org.refcodes.struct.Keys

    org.refcodes.struct.Keys.MutableKeys<K,V>, org.refcodes.struct.Keys.MutableValues<K,V>

    Nested classes/interfaces inherited from interface org.refcodes.struct.PathMap

    org.refcodes.struct.PathMap.MutablePathMap<T>, org.refcodes.struct.PathMap.PathMapBuilder<T>

    Nested classes/interfaces inherited from interface Properties

    Properties.MutableProperties, Properties.PropertiesBuilder

    Nested classes/interfaces inherited from interface org.refcodes.struct.Table

    org.refcodes.struct.Table.TableDictionary<K,V>

    Nested classes/interfaces inherited from interface org.refcodes.mixin.TypeAccessor

    org.refcodes.mixin.TypeAccessor.TypeBuilder<T,B>, org.refcodes.mixin.TypeAccessor.TypeMutator<T>, org.refcodes.mixin.TypeAccessor.TypeProperty<T>
  • Field Summary

    Fields inherited from class AbstractResourceProperties

    _properties

    Fields inherited from interface org.refcodes.struct.PathMap

    ANNOTATOR, DELIMITER

    Fields inherited from interface Properties

    DEFAULT_COMMENT
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Create an empty JavaProperties instance.
     
    Loads the Java properties from the given File.
     
    JavaProperties(File aFile, DocumentMetrics aDocumentMetrics)
    Loads the Java properties from the given File.
     
    JavaProperties(File aFile, org.refcodes.runtime.ConfigLocator aConfigLocator)
    Loads or seeks the Java properties from the given File.
     
    JavaProperties(File aFile, org.refcodes.runtime.ConfigLocator aConfigLocator, DocumentMetrics aDocumentMetrics)
    Loads or seeks the Java properties from the given File.
     
    Reads the Java properties from the given InputStream.
     
    JavaProperties(InputStream aInputStream, DocumentMetrics aDocumentMetrics)
    Reads the Java properties from the given InputStream.
     
    JavaProperties(Class<?> aResourceClass, String aFilePath)
    Loads the Java properties from the given file's path.
     
    JavaProperties(Class<?> aResourceClass, String aFilePath, DocumentMetrics aDocumentMetrics)
    Loads the Java properties from the given file's path.
     
    JavaProperties(Class<?> aResourceClass, String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator)
    Loads the Java properties from the given file's path.
     
    JavaProperties(Class<?> aResourceClass, String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator, DocumentMetrics aDocumentMetrics)
    Loads the Java properties from the given file's path.
     
    Create a JavaProperties 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.
     
    Loads the Java properties from the given file's path.
     
    JavaProperties(String aFilePath, DocumentMetrics aDocumentMetrics)
    Loads the Java properties from the given file's path.
     
    JavaProperties(String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator)
    Loads the Java properties from the given file's path.
     
    JavaProperties(String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator, DocumentMetrics aDocumentMetrics)
    Loads the Java properties from the given file's path.
     
    Loads the Java properties from the given URL.
     
    JavaProperties(URL aUrl, DocumentMetrics aDocumentMetrics)
    Loads the Java properties from the given URL.
     
    JavaProperties(Map<?,?> aProperties)
    Create a JavaProperties instance containing the elements of the provided Map instance using the default path delimiter "/" (Delimiter.PATH) for the path declarations.
     
    Create a JavaProperties instance containing the elements of the provided Properties instance using the default path delimiter "/" (Delimiter.PATH) for the path declarations.
     
    Create a JavaProperties instance containing the elements of the provided Properties.PropertiesBuilder instance using the default path delimiter "/" (Delimiter.PATH) for the path declarations.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    get(Object aKey)
    char
    Returns the default path delimiter as of Delimiter.PATH.
    boolean
    reload(ReloadMode aReloadMode)
    retrieveFrom(String aFromPath)
    retrieveTo(String aToPath)
    int

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.refcodes.struct.CanonicalMap

    asArray, asArray, asArray, asArray, asBooleanArray, asBooleanArray, asBooleanArray, asBooleanArray, asByteArray, asByteArray, asByteArray, asByteArray, asCharArray, asCharArray, asCharArray, asCharArray, asDoubleArray, asDoubleArray, asDoubleArray, asDoubleArray, asFloatArray, asFloatArray, asFloatArray, asFloatArray, asIntArray, asIntArray, asIntArray, asIntArray, asLongArray, asLongArray, asLongArray, asLongArray, asShortArray, asShortArray, asShortArray, asShortArray, queryBetween, toMap, toProperties

    Methods inherited from interface org.refcodes.struct.InterOperableMap

    getBoolean, getBoolean, getBoolean, getBoolean, getBoolean, getBooleanOr, getBooleanOr, getBooleanOr, getBooleanOr, getBooleanOr, getByte, getByte, getByte, getByte, getByte, getByteOr, getByteOr, getByteOr, getByteOr, getByteOr, getChar, getChar, getChar, getChar, getChar, getCharOr, getCharOr, getCharOr, getCharOr, getCharOr, getClass, getClass, getClass, getClass, getClass, getClassOr, getClassOr, getClassOr, getClassOr, getClassOr, getDouble, getDouble, getDouble, getDouble, getDouble, getDoubleOr, getDoubleOr, getDoubleOr, getDoubleOr, getDoubleOr, getEnum, getEnum, getEnum, getEnum, getEnum, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getEnumOr, getFloat, getFloat, getFloat, getFloat, getFloat, getFloatOr, getFloatOr, getFloatOr, getFloatOr, getFloatOr, getInt, getInt, getInt, getInt, getInt, getIntOr, getIntOr, getIntOr, getIntOr, getIntOr, getLong, getLong, getLong, getLong, getLong, getLongOr, getLongOr, getLongOr, getLongOr, getLongOr, getShort, getShort, getShort, getShort, getShort, getShortOr, getShortOr, getShortOr, getShortOr, getShortOr, getString, getString, getString, getString, getString, getStringOr, getStringOr, getStringOr, getStringOr, getStringOr

    Methods inherited from interface org.refcodes.struct.Keys

    getOr, use

    Methods inherited from interface org.refcodes.struct.PathMap

    children, children, children, children, children, children, containsKey, containsKey, containsKey, dirs, dirs, dirs, dirs, dirs, dirs, findPaths, fromExternalPath, get, get, get, getArray, getArray, getArray, getArray, getArray, getArray, getArrayIndexes, getArrayIndexes, getArrayIndexes, getArrayIndexes, getArrayIndexes, getArrayOr, getArrayOr, getArrayOr, getArrayOr, getArrayOr, getArrayOr, getDirIndexes, getDirIndexes, getDirIndexes, getDirIndexes, getDirIndexes, getDirIndexes, getRootPath, getValueAt, getValueAt, getValueAt, getValueAt, getValueAt, getValueAt, hasChildren, hasChildren, hasChildren, hasChildren, hasChildren, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasParentPath, hasPath, hasPath, hasPath, hasPath, hasPath, hasSubDirs, hasSubDirs, hasSubDirs, hasSubDirs, hasValue, hasValue, hasValue, hasValue, hasValue, hasValueAt, hasValueAt, hasValueAt, hasValueAt, hasValueAt, hasValueAt, hasValueAt, hasValueAt, isArray, isArray, isArray, isArray, isArray, isArray, isChild, isChild, isChild, isChild, isDir, isDir, isDir, isDir, isDir, isEqualTo, isIndexDir, isIndexDir, isIndexDir, isIndexDir, isIndexDir, isLeaf, isLeaf, isLeaf, isLeaf, isLeaf, isRootPath, keySet, keySet, keySet, keySet, keySet, lastArrayIndex, lastArrayIndex, lastArrayIndex, lastArrayIndex, lastArrayIndex, lastArrayIndex, lastDirIndex, lastDirIndex, lastDirIndex, lastDirIndex, lastDirIndex, lastDirIndex, leaves, leaves, leaves, leaves, leaves, leaves, nextArrayIndex, nextArrayIndex, nextArrayIndex, nextArrayIndex, nextArrayIndex, nextArrayIndex, nextDirIndex, nextDirIndex, nextDirIndex, nextDirIndex, nextDirIndex, nextDirIndex, paths, paths, paths, paths, paths, paths, queryPaths, queryPaths, queryPaths, queryPaths, queryPaths, queryPaths, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, sortedKeys, toDataStructure, toExternalPath, toInstance, toInstance, toLeaf, toMap, toNormalizedPath, toParentPath, toPath, toPath, toPath, toPath, toPathElements, toPathList, toPathStack, toPropertyPath, toType, toType, toType, toType, toType, toType, toType, toType

    Methods inherited from interface ResourceProperties

    toSerialized, toSerialized
  • Constructor Details

    • JavaProperties

      public JavaProperties(Class<?> aResourceClass, String aFilePath) throws IOException, ParseException
      Loads the Java properties from the given file's path.
      Parameters:
      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.
      Throws:
      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.
    • JavaProperties

      public JavaProperties(Class<?> aResourceClass, String aFilePath, DocumentMetrics aDocumentMetrics) throws IOException, ParseException
      Loads the Java properties from the given file's path.
      Parameters:
      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.
      aDocumentMetrics - Provides various metrics which may be tweaked when marshaling or unmarshaling documents of various nations (such as INI, XML, YAML, JSON, TOML, PROPERTIES, etc.).
      Throws:
      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.
    • JavaProperties

      public JavaProperties(Class<?> aResourceClass, String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator) throws IOException, ParseException
      Loads the Java properties from the given file's path. A provided 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).
      Parameters:
      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.
      Throws:
      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.
    • JavaProperties

      public JavaProperties(Class<?> aResourceClass, String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator, DocumentMetrics aDocumentMetrics) throws IOException, ParseException
      Loads the Java properties from the given file's path. A provided 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).
      Parameters:
      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.
      aDocumentMetrics - Provides various metrics which may be tweaked when marshaling or unmarshaling documents of various nations (such as INI, XML, YAML, JSON, TOML, PROPERTIES, etc.).
      Throws:
      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.
    • JavaProperties

      public JavaProperties(File aFile) throws IOException, ParseException
      Loads the Java properties from the given File.
      Parameters:
      aFile - The File from which to load the properties.
      Throws:
      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.
    • JavaProperties

      public JavaProperties(File aFile, DocumentMetrics aDocumentMetrics) throws IOException, ParseException
      Loads the Java properties from the given File.
      Parameters:
      aFile - The File from which to load the properties.
      aDocumentMetrics - Provides various metrics which may be tweaked when marshaling or unmarshaling documents of various nations (such as INI, XML, YAML, JSON, TOML, PROPERTIES, etc.).
      Throws:
      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.
    • JavaProperties

      public JavaProperties(File aFile, org.refcodes.runtime.ConfigLocator aConfigLocator) throws IOException, ParseException
      Loads or seeks the Java properties from the given File. A provided ConfigLocator describes the locations to additional crawl for the desired file.
      Parameters:
      aFile - The File from which to load the properties.
      aConfigLocator - The ConfigLocator describes the locations to additional crawl for the desired file.
      Throws:
      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.
    • JavaProperties

      public JavaProperties(File aFile, org.refcodes.runtime.ConfigLocator aConfigLocator, DocumentMetrics aDocumentMetrics) throws IOException, ParseException
      Loads or seeks the Java properties from the given File. A provided ConfigLocator describes the locations to additional crawl for the desired file.
      Parameters:
      aFile - The File from which to load the properties.
      aConfigLocator - The ConfigLocator describes the locations to additional crawl for the desired file.
      aDocumentMetrics - Provides various metrics which may be tweaked when marshaling or unmarshaling documents of various nations (such as INI, XML, YAML, JSON, TOML, PROPERTIES, etc.).
      Throws:
      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.
    • JavaProperties

      public JavaProperties(InputStream aInputStream) throws IOException, ParseException
      Reads the Java properties from the given InputStream.
      Parameters:
      aInputStream - The InputStream from which to read the properties.
      Throws:
      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.
    • JavaProperties

      public JavaProperties(InputStream aInputStream, DocumentMetrics aDocumentMetrics) throws IOException, ParseException
      Reads the Java properties from the given InputStream.
      Parameters:
      aInputStream - The InputStream from which to read the properties.
      aDocumentMetrics - Provides various metrics which may be tweaked when marshaling or unmarshaling documents of various nations (such as INI, XML, YAML, JSON, TOML, PROPERTIES, etc.).
      Throws:
      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.
    • JavaProperties

      public JavaProperties(Map<?,?> aProperties)
      Create a JavaProperties instance containing the elements of the provided Map instance using the default path delimiter "/" (Delimiter.PATH) for the path declarations.
      Parameters:
      aProperties - the properties to be added.
    • JavaProperties

      public JavaProperties(Object aObj)
      Create a JavaProperties 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."
      Parameters:
      aObj - The object from which the elements are to be added.
    • JavaProperties

      public JavaProperties(Properties aProperties)
      Create a JavaProperties instance containing the elements of the provided Properties instance using the default path delimiter "/" (Delimiter.PATH) for the path declarations.
      Parameters:
      aProperties - the properties to be added.
    • JavaProperties

      public JavaProperties(Properties.PropertiesBuilder aProperties)
      Create a JavaProperties instance containing the elements of the provided Properties.PropertiesBuilder instance using the default path delimiter "/" (Delimiter.PATH) for the path declarations.
      Parameters:
      aProperties - the properties to be added.
    • JavaProperties

      public JavaProperties(String aFilePath) throws IOException, ParseException
      Loads the Java properties from the given file's path.
      Parameters:
      aFilePath - The path to the file from which to load the properties.
      Throws:
      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.
    • JavaProperties

      public JavaProperties(String aFilePath, DocumentMetrics aDocumentMetrics) throws IOException, ParseException
      Loads the Java properties from the given file's path.
      Parameters:
      aFilePath - The path to the file from which to load the properties.
      aDocumentMetrics - Provides various metrics which may be tweaked when marshaling or unmarshaling documents of various nations (such as INI, XML, YAML, JSON, TOML, PROPERTIES, etc.).
      Throws:
      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.
    • JavaProperties

      public JavaProperties(String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator) throws IOException, ParseException
      Loads the Java properties from the given file's path. A provided ConfigLocator describes the locations to additional crawl for the desired file.
      Parameters:
      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.
      Throws:
      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.
    • JavaProperties

      public JavaProperties(String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator, DocumentMetrics aDocumentMetrics) throws IOException, ParseException
      Loads the Java properties from the given file's path. A provided ConfigLocator describes the locations to additional crawl for the desired file.
      Parameters:
      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.
      aDocumentMetrics - Provides various metrics which may be tweaked when marshaling or unmarshaling documents of various nations (such as INI, XML, YAML, JSON, TOML, PROPERTIES, etc.).
      Throws:
      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.
    • JavaProperties

      public JavaProperties(URL aUrl) throws IOException, ParseException
      Loads the Java properties from the given URL.
      Parameters:
      aUrl - The URL from which to read the properties.
      Throws:
      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.
    • JavaProperties

      public JavaProperties(URL aUrl, DocumentMetrics aDocumentMetrics) throws IOException, ParseException
      Loads the Java properties from the given URL.
      Parameters:
      aUrl - The URL from which to read the properties.
      aDocumentMetrics - Provides various metrics which may be tweaked when marshaling or unmarshaling documents of various nations (such as INI, XML, YAML, JSON, TOML, PROPERTIES, etc.).
      Throws:
      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.
    • JavaProperties

      protected JavaProperties()
      Create an empty JavaProperties instance.
  • Method Details