Module org.refcodes.properties
Package org.refcodes.properties
package org.refcodes.properties
This artifact provides a canonical model for processing properties from
various different formats (
*.yaml, *.ini,
*.toml, *.json, *.xml or
*.properties) and locations (JAR files, file system files,
streams, HTTP resources or GIT repositories) and for converting properties to
and from POJOs (plain java objects) and for applying various transformations
and views to the properties.
Please refer to the refcodes-properties: Managing your application's configuration documentation for an up-to-date and detailed description on the usage of this artifact.
-
ClassDescriptionAbstractPropertiesDecorator<T extends Properties>Decorates the provided
Propertiesand delegates method calls to themProperties.Base class for variousResourcePropertiesimplementations using aResourceProperties.ResourcePropertiesBuilderinstance under the hood.Implementation of the mutableResourceProperties.ResourcePropertiesBuilderinterface.Decorates the providedResourcePropertiesand delegates method calls to themResourceProperties.TheArgsPropertiestakes them command line arguments "as is" and converts them into key/value pairs as of thePropertiessemantics.Base exception for the configuration artifact.Extension of thePropertiestype overwriting methods in order to access the operating system's environment variables as ofenvon Linux or Unix shells orseton Windows machines (e.g."Implementation of theResourcePropertiesinterface with support of so called "Java properties" (or just "properties").TheJavaProperties.JavaPropertiesFactoryrepresents aResourcePropertiesFactorycreating instances of typeJavaProperties.Implementation of theResourceProperties.ResourcePropertiesBuilderinterface with support of so called "Java properties" (or just "properties").TheJavaPropertiesBuilder.JavaPropertiesBuilderFactoryrepresents aResourcePropertiesFactory.ResourcePropertiesBuilderFactorycreating instances of typeJavaPropertiesBuilder.Implementation of theResourcePropertiesinterface with support of so called "JSON properties".TheJsonProperties.JsonPropertiesFactoryrepresents aResourcePropertiesFactorycreating instances of typeJsonProperties.Implementation of theResourceProperties.ResourcePropertiesBuilderinterface with support of so called "JSON properties" (or just "properties").TheJsonPropertiesBuilder.JsonPropertiesBuilderFactoryrepresents aResourcePropertiesFactory.ResourcePropertiesBuilderFactorycreating instances of typeJsonPropertiesBuilder.TheNormalizedPropertiesDecoratortype decorates aPropertiesinstance and converts a path delimiter such as the full-stop (".") to thePropertiesproperties' path delimiter slash ("/", as ofAbstractPropertiesDecorator.getDelimiter()).Implementation of theResourcePropertiesinterface with support of so called "PolyglotProperties" (or just "properties").ThePolyglotProperties.PolyglotPropertiesFactoryis a meta factory using a collection ofResourcePropertiesFactoryinstances to deliverResourcePropertiesinstances.Implementation of theResourceProperties.ResourcePropertiesBuilderinterface with support of so called "PolyglotPropertiesBuilder" (or just "properties").ThePolyglotPropertiesBuilder.PolyglotPropertiesBuilderFactoryis a meta factory using a collection ofResourcePropertiesFactory.ResourcePropertiesBuilderFactoryinstances to deliverResourceProperties.ResourcePropertiesBuilderinstances.TheProfilePropertiesextend thePropertieswith Runtime-Profiles support.The Interface MutableProfileProperties.The Interface ProfilePropertiesBuilder.TheProfilePropertiesDecoratortype decorates aPropertiesinstance and enriches it with profile support as ofProfileProperties.TheProfilePropertiesProjectionapplies the profiles as ofProfileProperties.getRuntimeProfiles()onto the encapsulatedProperties(ProfileProperties) and provides a view of themProperties(ProfileProperties) from the profiles' point of view e.g. as when profiles have been applied to themProperties(ProfileProperties).ThePropertiesare a https://www.metacodes.proization of theTable.The interfaceProperties.MutablePropertiesdefines "dirty" methods allowing to modify ("mutate") the properties.The interfaceProperties.PropertiesBuilderdefines builder functionality on top of the properties .Provides an accessor for aPropertiesproperty.Provides a builder method for aPropertiesproperty returning the builder for applying multiple build operations.Provides a mutator for aPropertiesproperty.Provides aPropertiesproperty.The Class PropertiesBuilderImpl.The Class PropertiesImpl.The currently known notations forResourcePropertiesimplementations.Provides an accessor for aPropertiesNotationproperty.PropertiesNotationAccessor.PropertiesNotationBuilder<B extends PropertiesNotationAccessor.PropertiesNotationBuilder<B>>Provides a builder method for aPropertiesNotationproperty returning the builder for applying multiple build operations.Provides a mutator for aPropertiesNotationproperty.Provides aPropertiesNotationproperty.Enumeration representing defined path values.Defines a meta-interface in order to retrieve properties from various different properties sources (Propertiesinstances) by querying all the herein containedPropertiesinstances in the order of them being added.The interfacePropertiesPrecedence.MutablePropertiesPrecedencedefines "dirty" methods allowing to modify ("mutate") thePropertiesPrecedence: Add or removePropertiesinside aPropertiesPrecedenceinstance.The interfacePropertiesPrecedence.MutablePropertiesPrecedencedefines builder functionality on top of the properties .Retrieve properties from various different properties sources (Propertiesinstances) by querying all the herein containedPropertiesinstances in the order of them being added.Declarative syntactic sugar which may be statically imported in order to allow declarative definitions for the construction ofPropertiesprecedences usingProfilePropertiesDecorator,ProfilePropertiesProjection,ResourcePropertiesorPropertiesPrecedenceComposite(and the like).Mode of operation regarding theResourceProperties.reload(ReloadMode)method.ResourceLoaderBuilder<B extends ResourceLoaderBuilder<B>>This interface provides builder additions (as of the builder pattern for chained configuring method calls) for "dynamic"ResourceProperties: AsResourcePropertiesare immutable from an interface's point of view, there are no mutating methods provided.TheResourcePropertiesare a https://www.metacodes.proization of theTable.The interfaceResourceProperties.MutableResourePropertiesdefines "dirty" methods allowing to modify ("mutate") theResourceProperties.The interfaceResourceProperties.ResourcePropertiesBuilderdefines builder functionality on top of theResourceProperties.MutableResoureProperties.Factory interface for creatingResourcePropertiesinstances.Factory interface for creatingResourceProperties.ResourcePropertiesBuilderinstances.TheScheduledResourcePropertiesenrichResourcePropertieswith scheduling functionality whereby the properties are being automatically reloaded periodically viaResourceProperties.reload(ReloadMode).The interfaceScheduledResourceProperties.ScheduledMuableResourcePropertiesdefines "dirty" methods allowing to modify ("mutate") theScheduledResourceProperties.The interfaceScheduledResourceProperties.ScheduledResourcePropertiesBuilderdefines builder functionality on top of theScheduledResourceProperties.ScheduledMuableResourceProperties.TheScheduledResourcePropertiesBuilderDecoratordecoratesResourceProperties.ResourcePropertiesBuilderfrom which the properties are to be reloaded periodically viaAbstractResourcePropertiesBuilderDecorator.reload(ReloadMode).TheScheduledResourcePropertiesDecoratordecoratesResourcePropertiesfrom which the properties are to be reloaded periodically viaAbstractResourcePropertiesDecorator.reload(ReloadMode).TheStrictPropertiesextends thePropertieswith all the getters to throw aKeyNotFoundRuntimeExceptioninstead of returning null in case the key was not found.The Interface MutableStrictProperties.The Interface StrictPropertiesBuilder.TheStrictPropertiesDecoratortype decorates aPropertiesinstance with all the getters to throw aKeyNotFoundRuntimeExceptioninstead of returning null in case the key was not found.Extension of thePropertiestype overwriting methods in order to access system properties as passed via the "-Dkey=value" when launching the JVM (e.g.java -Dconsole.width=220) The keys are transformed to a system properties by removing a prefixed "/" path delimiter (as ofProperties.getDelimiter()and converting all other path delimiters "/" to the system property's (de facto standard) separator ".".Implementation of theResourcePropertiesinterface with support of so called "TOML properties".TheTomlProperties.TomlPropertiesFactoryrepresents aResourcePropertiesFactorycreating instances of typeTomlProperties.Implementation of theResourceProperties.ResourcePropertiesBuilderinterface with support of so called "TOML properties".TheTomlPropertiesBuilder.TomlPropertiesBuilderFactoryrepresents aResourcePropertiesFactory.ResourcePropertiesBuilderFactorycreating instances of typeTomlPropertiesBuilder.Implementation of theResourcePropertiesinterface with support of so called "XML properties".TheXmlProperties.XmlPropertiesFactoryrepresents aResourcePropertiesFactorycreating instances of typeXmlProperties.Implementation of theResourceProperties.ResourcePropertiesBuilderinterface with support of so called "XML properties" (or just "properties").TheXmlPropertiesBuilder.XmlPropertiesBuilderFactoryrepresents aResourcePropertiesFactory.ResourcePropertiesBuilderFactorycreating instances of typeXmlPropertiesBuilder.Implementation of theResourcePropertiesinterface with support of so called "YAML properties".TheYamlProperties.YamlPropertiesFactoryrepresents aResourcePropertiesFactorycreating instances of typeYamlProperties.Implementation of theResourceProperties.ResourcePropertiesBuilderinterface with support of so called "YAML properties" (or just "properties").TheYamlPropertiesBuilder.YamlPropertiesBuilderFactoryrepresents aResourcePropertiesFactory.ResourcePropertiesBuilderFactorycreating instances of typeYamlPropertiesBuilder.