Class YamlProperties.YamlPropertiesFactory

java.lang.Object
org.refcodes.properties.YamlProperties.YamlPropertiesFactory
All Implemented Interfaces:
org.refcodes.mixin.FilenameSuffixesAccessor, ResourcePropertiesFactory
Enclosing class:
YamlProperties

public static class YamlProperties.YamlPropertiesFactory extends Object implements ResourcePropertiesFactory
  • Constructor Details

    • YamlPropertiesFactory

      public YamlPropertiesFactory()
  • Method Details

    • getFilenameSuffixes

      public String[] getFilenameSuffixes()
      Specified by:
      getFilenameSuffixes in interface org.refcodes.mixin.FilenameSuffixesAccessor
    • toProperties

      public ResourceProperties toProperties(Class<?> aResourceClass, String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator, char... aDelimiters) throws IOException, ParseException
      Loads the 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).
      Specified by:
      toProperties in interface ResourcePropertiesFactory
      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.
      aDelimiters - The path delimiters to be used when parsing the source's properties.
      Returns:
      The accordingly constructed ResourceProperties.
      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.
    • toProperties

      public ResourceProperties toProperties(File aFile, org.refcodes.runtime.ConfigLocator aConfigLocator, char... aDelimiters) throws IOException, ParseException
      Loads or seeks the properties from the given File. A provided ConfigLocator describes the locations to additional crawl for the desired file.
      Specified by:
      toProperties in interface ResourcePropertiesFactory
      Parameters:
      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.
      Returns:
      The accordingly constructed ResourceProperties.
      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.
    • toProperties

      public ResourceProperties toProperties(InputStream aInputStream, char... aDelimiters) throws IOException, ParseException
      Reads the properties from the given InputStream.
      Specified by:
      toProperties in interface ResourcePropertiesFactory
      Parameters:
      aInputStream - The InputStream from which to read the properties.
      aDelimiters - The path delimiters to be used when parsing the source's properties.
      Returns:
      The accordingly constructed ResourceProperties.
      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.
    • toProperties

      public ResourceProperties toProperties(Map<?,?> aProperties)
      Create a ResourceProperties instance containing the elements of the provided Map instance using the path delimiter "/" (Delimiter.PATH) for the path declarations.
      Specified by:
      toProperties in interface ResourcePropertiesFactory
      Parameters:
      aProperties - the properties to be added.
      Returns:
      The accordingly constructed ResourceProperties.
    • toProperties

      public ResourceProperties toProperties(Object aObj)
      Create a ResourceProperties instance containing the elements as of PathMap.MutablePathMap.insert(Object) using the 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."
      Specified by:
      toProperties in interface ResourcePropertiesFactory
      Parameters:
      aObj - The object from which the elements are to be added.
      Returns:
      The accordingly constructed ResourceProperties.
    • toProperties

      public ResourceProperties toProperties(Properties aProperties)
      Create a ResourceProperties instance containing the elements of the provided Properties instance using the path delimiter "/" (Delimiter.PATH) for the path declarations.
      Specified by:
      toProperties in interface ResourcePropertiesFactory
      Parameters:
      aProperties - the properties to be added.
      Returns:
      The accordingly constructed ResourceProperties.
    • toProperties

      public ResourceProperties toProperties(String aFilePath, org.refcodes.runtime.ConfigLocator aConfigLocator, char... aDelimiters) throws IOException, ParseException
      Loads the properties from the given file's path. A provided ConfigLocator describes the locations to additional crawl for the desired file.
      Specified by:
      toProperties in interface ResourcePropertiesFactory
      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.
      aDelimiters - The path delimiters to be used when parsing the source's properties.
      Returns:
      The accordingly constructed ResourceProperties.
      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.
    • toProperties

      public ResourceProperties toProperties(URL aUrl, char... aDelimiters) throws IOException, ParseException
      Loads the properties from the given URL.
      Specified by:
      toProperties in interface ResourcePropertiesFactory
      Parameters:
      aUrl - The URL from which to read the properties.
      aDelimiters - The path delimiters to be used when parsing the source's properties.
      Returns:
      The accordingly constructed ResourceProperties.
      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.
    • toProperties

      Create a ResourceProperties instance containing the elements of the provided Properties.PropertiesBuilder instance using the default path delimiter "/" (Delimiter.PATH) for the path declarations.
      Specified by:
      toProperties in interface ResourcePropertiesFactory
      Parameters:
      aProperties - the properties to be added.
      Returns:
      The accordingly constructed ResourceProperties.