|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.ibm.di.util.BasePropertiesFile
public abstract class BasePropertiesFile
In-memory representation of a properties file. It may contain comments and empty lines as well as property definitions. When writing the order of the properties and the user comments are kept.
A property in a properties file can be protected or non-protected. Protected properties normally have their keys prefixed with BasePropertiesFiles.PROTECT_PREFIX. Protected properties may have their values encrypted. If a property value is encrypted, it will be prefixed with BasePropertiesFiles.PROTECT_VAL_PREFIX. If a property's value is encrypted, the property is considered protected no matter if it is actually marked as protected.
PropertiesFile
Nested Class Summary | |
---|---|
protected static class |
BasePropertiesFile.Property
A property from a properties file. |
Field Summary | |
---|---|
protected java.util.List<java.lang.StringBuilder> |
lines
All lines of the properties file - including comments, empty lines, include directives and property definitions. |
protected boolean |
modified
Whether any of the lines in this properties file has been modified. |
protected java.util.Map<java.lang.String,BasePropertiesFile.Property> |
properties
The property definitions of the properties file the mapping is: property key -> BasePropertiesFile.Property object. |
protected Crypto |
propertyCrypto
Object to encrypt/decrypt the values of protected properties. |
static java.lang.String |
PROTECT_PREFIX
A prefix for the keys of protected properties. |
static java.lang.String |
PROTECT_VAL_PREFIX
A prefix for encrypted property values. |
protected static ResourceHash |
resHash
|
Constructor Summary | |
---|---|
BasePropertiesFile()
Create an empty object. |
|
BasePropertiesFile(Crypto propertyCrypto)
Create an empty object with crypto module. |
Method Summary | |
---|---|
java.lang.String |
getProperty(java.lang.String key)
Return the property value as plain text. |
java.lang.String |
getProperty(java.lang.String key,
Log log)
Return the property value as plain text. |
boolean |
isModified()
Determine whether the contents of this file has been modified, e.g. |
boolean |
isPropertyEncrypted(java.lang.String key)
|
boolean |
isPropertyProtected(java.lang.String key)
|
java.util.Iterator<java.lang.String> |
keys()
|
void |
removeProperty(java.lang.String key)
Remove a property from this properties file. |
void |
setProperty(java.lang.String key,
java.lang.String value)
Set a property. |
void |
setPropertyEncrypted(java.lang.String key,
boolean encrypt)
Change the encrypted status of a property's value. |
void |
setPropertyProtected(java.lang.String key,
boolean protect)
Change the protected status of a property. |
abstract void |
store(java.lang.String path)
Write the contents of this properties file to disk. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String PROTECT_PREFIX
public static final java.lang.String PROTECT_VAL_PREFIX
protected java.util.List<java.lang.StringBuilder> lines
protected java.util.Map<java.lang.String,BasePropertiesFile.Property> properties
The property definitions of the properties file the mapping is: property key -> BasePropertiesFile.Property object. The key is not marked with a protect prefix.
Only the last encountered definition of a property is kept. If for example a properties file contains two equal properties, then the definition from the last property will be kept.
protected boolean modified
protected Crypto propertyCrypto
protected static final ResourceHash resHash
Constructor Detail |
---|
public BasePropertiesFile()
public BasePropertiesFile(Crypto propertyCrypto)
propertyCrypto
- object used to encrypt/decrypt values of protected propertiesMethod Detail |
---|
public java.util.Iterator<java.lang.String> keys()
public java.lang.String getProperty(java.lang.String key) throws java.lang.Exception
key
- the property key
java.lang.Exception
- decryption errorpublic void setProperty(java.lang.String key, java.lang.String value) throws java.lang.Exception
key
- a property key; can be marked as protectedvalue
- a property value; can be encrypted
java.lang.Exception
- encryption error (if setting a non-encrypted value to an
encrypted property)public void removeProperty(java.lang.String key)
key
- property keypublic boolean isPropertyProtected(java.lang.String key)
key
- a property key
public boolean isPropertyEncrypted(java.lang.String key)
key
- a property key
public void setPropertyProtected(java.lang.String key, boolean protect) throws java.lang.Exception
key
- a property keyprotect
- whether the property will be protected
java.lang.Exception
- decryption errorpublic void setPropertyEncrypted(java.lang.String key, boolean encrypt) throws java.lang.Exception
key
- a property keyencrypt
- whether the property value will be encrypted
java.lang.Exception
- encryption/decryption errorpublic boolean isModified()
public abstract void store(java.lang.String path) throws java.lang.Exception
path
- a file, whether the contents will be saved
java.lang.Exception
- error while writing the filepublic java.lang.String getProperty(java.lang.String key, Log log) throws java.lang.Exception
key
- log
-
java.lang.Exception
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |