Package org.refcodes.configuration
Class ProfilePropertiesProjection
- java.lang.Object
-
- org.refcodes.configuration.ProfilePropertiesProjection
-
- All Implemented Interfaces:
Properties
,org.refcodes.mixin.DelimiterAccessor
,org.refcodes.mixin.Dumpable
,org.refcodes.mixin.TypeAccessor<java.lang.String>
,org.refcodes.structure.CanonicalMap
,org.refcodes.structure.Containable
,org.refcodes.structure.Dictionary<java.lang.String,T>
,org.refcodes.structure.Keys<java.lang.String,T>
,org.refcodes.structure.PathMap<java.lang.String>
,org.refcodes.structure.PropertiesAccessorMixin
public class ProfilePropertiesProjection extends java.lang.Object implements Properties
TheProfilePropertiesProjection
applies 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
). In other words, the profiles are resolved and the result is provided as view: Under the hood, the providedProperties
are decorated with aProfilePropertiesDecorator
which then is used to provide the profile projection viaProfileProperties.toRuntimeProfile()
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.structure.CanonicalMap
org.refcodes.structure.CanonicalMap.CanonicalMapBuilder, org.refcodes.structure.CanonicalMap.MutableCanonicalMap
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.DelimiterAccessor
org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B extends org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B>>, org.refcodes.mixin.DelimiterAccessor.DelimiterMutator, org.refcodes.mixin.DelimiterAccessor.DelimiterProperty
-
Nested classes/interfaces inherited from interface org.refcodes.structure.Dictionary
org.refcodes.structure.Dictionary.MutableDictionary<K extends java.lang.Object,V extends java.lang.Object>
-
Nested classes/interfaces inherited from interface org.refcodes.structure.Keys
org.refcodes.structure.Keys.MutableKeys<K extends java.lang.Object,V extends java.lang.Object>, org.refcodes.structure.Keys.MutableValues<K extends java.lang.Object,V extends java.lang.Object>
-
Nested classes/interfaces inherited from interface org.refcodes.structure.PathMap
org.refcodes.structure.PathMap.MutablePathMap<T extends java.lang.Object>, org.refcodes.structure.PathMap.PathMapBuilder<T extends java.lang.Object>
-
Nested classes/interfaces inherited from interface org.refcodes.configuration.Properties
Properties.MutableProperties, Properties.PropertiesBuilder
-
Nested classes/interfaces inherited from interface org.refcodes.structure.PropertiesAccessorMixin
org.refcodes.structure.PropertiesAccessorMixin.PropertiesBuilderMixin<T extends java.lang.Object>, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMixin, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMutatorMixin
-
-
Field Summary
-
Fields inherited from interface org.refcodes.configuration.Properties
DEFAULT_COMMENT
-
-
Constructor Summary
Constructors Constructor Description ProfilePropertiesProjection(ProfileProperties aProperties)
Uses theProfileProperties
for the profile projection.ProfilePropertiesProjection(ProfileProperties aProperties, java.lang.String... aProfiles)
Uses theProfileProperties
for the profile projection.ProfilePropertiesProjection(Properties.PropertiesBuilder aProperties, java.lang.String... aProfiles)
Wraps theProperties.PropertiesBuilder
with a profile projection.ProfilePropertiesProjection(Properties aProperties, java.lang.String... aProfiles)
Wraps theProperties
with a profile projection.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
containsKey(java.lang.Object aKey)
java.lang.String
get(java.lang.Object aKey)
char
getDelimiter()
Returns the default path delimiter as ofDelimiter.PATH
.boolean
isEmpty()
java.util.Set<java.lang.String>
keySet()
Properties
retrieveFrom(java.lang.String aFromPath)
Properties
retrieveTo(java.lang.String aToPath)
int
size()
java.lang.Object
toDataStructure(java.lang.String aFromPath)
java.util.Collection<java.lang.String>
values()
-
Methods inherited from interface org.refcodes.structure.CanonicalMap
getBoolean, getBoolean, getByte, getByte, getCharacter, getCharacter, getDouble, getDouble, getFloat, getFloat, getInteger, getInteger, getLong, getLong, getShort, getShort, toInstance, toInstance, toType, toType
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.refcodes.structure.PathMap
children, children, children, children, children, containsKey, containsKey, dirs, dirs, dirs, dirs, dirs, fromExternalPath, get, get, getArray, getArray, getArray, getArray, getArrayIndexes, getArrayIndexes, getArrayIndexes, getArrayIndexes, getDirAt, getDirAt, getDirAt, getDirIndexes, getDirIndexes, getDirIndexes, getDirIndexes, getRootPath, getValueAt, getValueAt, getValueAt, getValueAt, getValueAt, hasChildren, hasChildren, hasChildren, hasChildren, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasDirAt, hasParentPath, hasPath, hasPath, hasPath, hasValueAt, hasValueAt, hasValueAt, hasValueAt, isArray, isArray, isArray, isArray, isArray, isArrayIndex, isArrayIndex, isArrayIndex, isArrayIndex, isArrayIndex, isChild, isChild, isChild, isDir, isDir, isDir, isDir, isDirIndex, isDirIndex, isDirIndex, isDirIndex, isLeaf, isLeaf, isLeaf, isLeaf, isRootPath, keySet, lastArrayIndex, lastArrayIndex, lastArrayIndex, lastArrayIndex, lastArrayIndex, lastDirIndex, lastDirIndex, lastDirIndex, lastDirIndex, lastDirIndex, leaves, leaves, leaves, leaves, leaves, nextArrayIndex, nextArrayIndex, nextArrayIndex, nextArrayIndex, nextArrayIndex, nextDirIndex, nextDirIndex, nextDirIndex, nextDirIndex, nextDirIndex, paths, paths, paths, paths, paths, queryPaths, toDataStructure, toExternalPath, toLeaf, toMap, toNormalizedPath, toParentPath, toPath, toPath, toPath, toPathElements
-
Methods inherited from interface org.refcodes.configuration.Properties
containsValue, getDirAt, getDirAt, getType, query, query, queryFrom, queryTo, retrieve, retrieveFrom, retrieveFrom, retrieveFrom, retrieveTo, retrieveTo, retrieveTo, toMap, toProperties, toPropertyPath
-
Methods inherited from interface org.refcodes.structure.PropertiesAccessorMixin
asArray, asArray, asArray, asArray, asArray, asArray, asBooleanArray, asBooleanArray, asBooleanArray, asBooleanArray, asBooleanArray, asBooleanArray, asByteArray, asByteArray, asByteArray, asByteArray, asByteArray, asByteArray, asCharacterArray, asCharacterArray, asCharacterArray, asCharacterArray, asCharacterArray, asCharacterArray, asDoubleArray, asDoubleArray, asDoubleArray, asDoubleArray, asDoubleArray, asDoubleArray, asFloatArray, asFloatArray, asFloatArray, asFloatArray, asFloatArray, asFloatArray, asIntegerArray, asIntegerArray, asIntegerArray, asIntegerArray, asIntegerArray, asIntegerArray, asLongArray, asLongArray, asLongArray, asLongArray, asLongArray, asLongArray, asShortArray, asShortArray, asShortArray, asShortArray, asShortArray, asShortArray, containsKey, get, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getCharacter, getCharacter, getCharacter, getDouble, getDouble, getDouble, getFloat, getFloat, getFloat, getInteger, getInteger, getInteger, getLong, getLong, getLong, getShort, getShort, getShort, use, useBoolean, useBoolean, useByte, useByte, useDouble, useDouble, useFloat, useFloat, useInteger, useInteger, useLong, useLong, useShort, useShort
-
-
-
-
Constructor Detail
-
ProfilePropertiesProjection
public ProfilePropertiesProjection(Properties aProperties, java.lang.String... aProfiles)
Wraps theProperties
with a profile projection. TheProperties
are decorated with aProfilePropertiesDecorator
which provides the projectedProperties
from the wrappedProperties
with the given profiles applied. See alsoProfileProperties.toRuntimeProfile(String...)
.- Parameters:
aProperties
- The properties which are to be projected according to the provided profiles. The evaluation is done as ofProfileProperties.toRuntimeProfile(String...)
.aProfiles
- The profiles to be used when constructing the projection.
-
ProfilePropertiesProjection
public ProfilePropertiesProjection(Properties.PropertiesBuilder aProperties, java.lang.String... aProfiles)
Wraps theProperties.PropertiesBuilder
with a profile projection. TheProperties.PropertiesBuilder
are decorated with aProfilePropertiesDecorator
which then is used to provide the profile projection viaProfileProperties.toRuntimeProfile(String...)
using the provided profiles- Parameters:
aProperties
- The properties which are to be projected according to the therein set profiles. The evaluation is done as ofProfileProperties.toRuntimeProfile(String...)
.aProfiles
- The profiles to be used when constructing the projection.
-
ProfilePropertiesProjection
public ProfilePropertiesProjection(ProfileProperties aProperties)
Uses theProfileProperties
for the profile projection. TheProfileProperties
provide the profile projection viaProfileProperties.toRuntimeProfile()
.- Parameters:
aProperties
- The properties which provide the according profile projections applying the therein set profiles. The evaluation is done as ofProfileProperties.toRuntimeProfile(String...)
.
-
ProfilePropertiesProjection
public ProfilePropertiesProjection(ProfileProperties aProperties, java.lang.String... aProfiles)
Uses theProfileProperties
for the profile projection. TheProfileProperties
provide the profile projection viaProfileProperties.toRuntimeProfile(String...)
using the provided profiles- Parameters:
aProperties
- The properties which are to be projected according to the therein set profiles. The evaluation is done as ofProfileProperties.toRuntimeProfile(String...)
.aProfiles
- The profiles to be used when constructing the projection.
-
-
Method Detail
-
getDelimiter
public char getDelimiter()
Returns the default path delimiter as ofDelimiter.PATH
.- Specified by:
getDelimiter
in interfaceorg.refcodes.mixin.DelimiterAccessor
- Specified by:
getDelimiter
in interfaceProperties
-
size
public int size()
- Specified by:
size
in interfaceorg.refcodes.structure.Containable
-
containsKey
public boolean containsKey(java.lang.Object aKey)
- Specified by:
containsKey
in interfaceorg.refcodes.structure.Keys<java.lang.String,T extends java.lang.Object>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfaceorg.refcodes.structure.Containable
-
get
public java.lang.String get(java.lang.Object aKey)
- Specified by:
get
in interfaceorg.refcodes.structure.Keys<java.lang.String,T extends java.lang.Object>
-
keySet
public java.util.Set<java.lang.String> keySet()
- Specified by:
keySet
in interfaceorg.refcodes.structure.Keys<java.lang.String,T extends java.lang.Object>
-
values
public java.util.Collection<java.lang.String> values()
- Specified by:
values
in interfaceorg.refcodes.structure.Keys<java.lang.String,T extends java.lang.Object>
-
retrieveFrom
public Properties retrieveFrom(java.lang.String aFromPath)
- Specified by:
retrieveFrom
in interfaceorg.refcodes.structure.CanonicalMap
- Specified by:
retrieveFrom
in interfaceorg.refcodes.structure.PathMap<java.lang.String>
- Specified by:
retrieveFrom
in interfaceProperties
-
retrieveTo
public Properties retrieveTo(java.lang.String aToPath)
- Specified by:
retrieveTo
in interfaceorg.refcodes.structure.CanonicalMap
- Specified by:
retrieveTo
in interfaceorg.refcodes.structure.PathMap<java.lang.String>
- Specified by:
retrieveTo
in interfaceProperties
-
toDataStructure
public java.lang.Object toDataStructure(java.lang.String aFromPath)
- Specified by:
toDataStructure
in interfaceorg.refcodes.structure.PathMap<java.lang.String>
-
-