ObfuscationProperties
, org.refcodes.configuration.Properties
, org.refcodes.mixin.DecryptPrefixAccessor
, org.refcodes.mixin.DelimiterAccessor
, org.refcodes.mixin.Dumpable
, org.refcodes.mixin.EncryptPrefixAccessor
, org.refcodes.mixin.TypeAccessor<String>
, org.refcodes.structure.CanonicalMap
, org.refcodes.structure.Containable
, org.refcodes.structure.Dictionary<String,T>
, org.refcodes.structure.Keys<String,T>
, org.refcodes.structure.PathMap<String>
, org.refcodes.structure.PropertiesAccessorMixin
public class ObfuscationPropertiesDecorator extends AbstractObfuscationPropertiesDecorator implements ObfuscationProperties
ObfuscationPropertiesDecorator
represents a decorator for
Properties
instances by implementing the
ObfuscationProperties
interface.
Properties marked in the resource as "to be decrypted" are decrypted (e.g.
with a host individual key). Those encrypted properties are decrypted
"on-the-fly" (in memory only) upon accessing the according property.
Retrieving a value via AbstractObfuscationPropertiesDecorator.get(Object)
(or the like), which is prefixed
with "decrypt:" (default), will be decrypted accordingly before passed back
to the caller. The prefix may be changed by invoking the according
implementaion's constructor.
Properties marked in the resource as "to be encrypted" are not modified and
returned without the prefix when being queried via AbstractObfuscationPropertiesDecorator.get(Object)
(or
the like), as the Properties
are immutable.
By default (if not configured otherwise) the prefix Prefix.DECRYPT
is
used as decrypt prefix (as of Prefix.getPrefix()
). Also by default
(if not configured otherwise) the prefix Prefix.ENCRYPT
is used as
encrypt prefix (as of Prefix.getPrefix()
).org.refcodes.structure.CanonicalMap.CanonicalMapBuilder, org.refcodes.structure.CanonicalMap.MutableCanonicalMap
org.refcodes.mixin.DecryptPrefixAccessor.DecryptPrefixBuilder<B extends org.refcodes.mixin.DecryptPrefixAccessor.DecryptPrefixBuilder<B>>, org.refcodes.mixin.DecryptPrefixAccessor.DecryptPrefixMutator, org.refcodes.mixin.DecryptPrefixAccessor.DecryptPrefixProperty
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.structure.Dictionary.MutableDictionary<K extends Object,V extends Object>
org.refcodes.mixin.EncryptPrefixAccessor.EncryptPrefixBuilder<B extends org.refcodes.mixin.EncryptPrefixAccessor.EncryptPrefixBuilder<B>>, org.refcodes.mixin.EncryptPrefixAccessor.EncryptPrefixMutator, org.refcodes.mixin.EncryptPrefixAccessor.EncryptPrefixProperty
org.refcodes.structure.Keys.MutableKeys<K extends Object,V extends Object>, org.refcodes.structure.Keys.MutableValues<K extends Object,V extends Object>
ObfuscationProperties.MutableObfuscationProperties, ObfuscationProperties.ObfuscationPropertiesBuilder
org.refcodes.structure.PathMap.MutablePathMap<T extends Object>, org.refcodes.structure.PathMap.PathMapBuilder<T extends Object>
org.refcodes.configuration.Properties.MutableProperties, org.refcodes.configuration.Properties.PropertiesBuilder
org.refcodes.structure.PropertiesAccessorMixin.PropertiesBuilderMixin<T extends Object>, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMixin, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMutatorMixin
_decryptPrefix, _encryptPrefix
Constructor | Description |
---|---|
ObfuscationPropertiesDecorator(org.refcodes.configuration.Properties aProperties) |
Decorates the provided
Properties with additional
ObfuscationProperties behavior or functionality. |
ObfuscationPropertiesDecorator(org.refcodes.configuration.Properties aProperties,
String aSecret) |
Decorates the provided
Properties with additional
ObfuscationProperties behavior or functionality. |
ObfuscationPropertiesDecorator(org.refcodes.configuration.Properties aProperties,
String aDecryptPrefix,
String aEncryptPrefix) |
Decorates the provided
Properties with additional
ObfuscationProperties behavior or functionality. |
ObfuscationPropertiesDecorator(org.refcodes.configuration.Properties aProperties,
String aDecryptPrefix,
String aEncryptPrefix,
String aSecret) |
Decorates the provided
Properties with additional
ObfuscationProperties behavior or functionality. |
ObfuscationPropertiesDecorator(org.refcodes.configuration.Properties aProperties,
String aDecryptPrefix,
String aEncryptPrefix,
org.refcodes.runtime.SystemContext aObfuscationMode) |
Decorates the provided
Properties with additional
ObfuscationProperties behavior or functionality. |
ObfuscationPropertiesDecorator(org.refcodes.configuration.Properties aProperties,
org.refcodes.runtime.SystemContext aObfuscationMode) |
Decorates the provided
Properties with additional
ObfuscationProperties behavior or functionality. |
get, getDecryptPrefix, getEncryptPrefix
childrenOf, containsKey, getDelimiter, getProperties, isEmpty, keySet, retrieveFrom, retrieveTo, setProperties, size, toDataStructure, values
toInstance, toInstance, toType, toType
containsKey, get, get, keySet, use, values
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
directories, directories, entries, entries, fromExternalKey, getArray, getArray, getRootPath, hasParentPath, isArray, isArray, isDirectory, isEntry, isRecord, isRootPath, keySet, paths, paths, records, records, toDataStructure, toDataStructure, toExternalKey, toMap, toNormalizedPath, toNormalizedPath, toParentPath, toPath
childrenOf, containsValue, getDelimiter, getType, retrieve, retrieveFrom, retrieveTo, toMap, toProperties, toPropertyPath
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
public ObfuscationPropertiesDecorator(org.refcodes.configuration.Properties aProperties)
Properties
with additional
ObfuscationProperties
behavior or functionality. Changes applied
to the provided Properties
affect the decorator. A host specific
secret is used to encrypt and decrypt the according properties.aProperties
- The Properties
to be decorated.public ObfuscationPropertiesDecorator(org.refcodes.configuration.Properties aProperties, String aDecryptPrefix, String aEncryptPrefix)
Properties
with additional
ObfuscationProperties
behavior or functionality. Changes applied
to the provided Properties
affect the decorator. A host specific
secret is used to encrypt and decrypt the according properties.aProperties
- The Properties
to be decorated.aDecryptPrefix
- The decrypt prefix to be used for values which are
to be decrypted, e.g. "decrypt:".aEncryptPrefix
- The decrypt prefix to be used. for values which are
to be encrypted, e.g. "encrypt:".public ObfuscationPropertiesDecorator(org.refcodes.configuration.Properties aProperties, String aDecryptPrefix, String aEncryptPrefix, org.refcodes.runtime.SystemContext aObfuscationMode)
Properties
with additional
ObfuscationProperties
behavior or functionality. Changes applied
to the provided Properties
affect the decorator. A host specific
secret is used to encrypt and decrypt the according properties.aProperties
- The Properties
to be decorated.aDecryptPrefix
- The decrypt prefix to be used for values which are
to be decrypted, e.g. "decrypt:".aEncryptPrefix
- The decrypt prefix to be used. for values which are
to be encrypted, e.g. "encrypt:".aObfuscationMode
- The SystemContext
specifies which level
of obfuscation is to be used when encountering upon obfuscated
properties: E.g. obfuscation may be bound to the host, the
"secret" used for obfuscation being the same for all applications
on the same host or obfuscation may be bound to the application,
being different for different applications on the same host.public ObfuscationPropertiesDecorator(org.refcodes.configuration.Properties aProperties, String aDecryptPrefix, String aEncryptPrefix, String aSecret)
Properties
with additional
ObfuscationProperties
behavior or functionality. Changes applied
to the provided Properties
affect the decorator. The given secret
is used to encrypt and decrypt the according properties.aProperties
- The Properties
to be decorated.aDecryptPrefix
- The decrypt prefix to be used for values which are
to be decrypted, e.g. "decrypt:".aEncryptPrefix
- The decrypt prefix to be used. for values which are
to be encrypted, e.g. "encrypt:".aSecret
- The secret to use when encrypting and decrypting the
according properties.public ObfuscationPropertiesDecorator(org.refcodes.configuration.Properties aProperties, org.refcodes.runtime.SystemContext aObfuscationMode)
Properties
with additional
ObfuscationProperties
behavior or functionality. Changes applied
to the provided Properties
affect the decorator. A host specific
secret is used to encrypt and decrypt the according properties.aProperties
- The Properties
to be decorated.aObfuscationMode
- The SystemContext
specifies which level
of obfuscation is to be used when encountering upon obfuscated
properties: E.g. obfuscation may be bound to the host, the
"secret" used for obfuscation being the same for all applications
on the same host or obfuscation may be bound to the application,
being different for different applications on the same host.public ObfuscationPropertiesDecorator(org.refcodes.configuration.Properties aProperties, String aSecret)
Properties
with additional
ObfuscationProperties
behavior or functionality. Changes applied
to the provided Properties
affect the decorator. The given secret
is used to encrypt and decrypt the according properties.aProperties
- The Properties
to be decorated.aSecret
- The secret to use when encrypting and decrypting the
according properties.Copyright © 2018. All rights reserved.