| java.lang.Object org.apache.derby.impl.store.access.PropertyConglomerate
PropertyConglomerate | class PropertyConglomerate (Code) | | Stores properties in a congolmerate with complete transactional support.
The PropertyConglomerate contains one row with 2 columns per property.
Column 0 is the UTF key, and column 1 is the data.
The property conglomerate manages the storage of database properties
and thier defaults. Each property is stored as a row in the
PropertyConglomerate
- Column 0 is the UTF key,
- Column 1 is the data.
All the property defaults are stored in a single row of the Property
Conglomerate:
- Column 0 is the UTF key "derby.defaultPropertyName".
- Column 1 is a FormatableProperties object with one
row per default property.
In general a propery default defines it value if the property
itself is not defined.
Because the properties conglomerate is stored in a conglomerate
the information it contains is not available before the raw store
runs recovery. To make a small number of properties (listed in
servicePropertyList) available during early boot, this copies
them to services.properties.
|
Method Summary | |
Properties | getProperties(TransactionController tc) Fetch the set of properties as a Properties object. | public void | getProperties(TransactionController tc, Dictionary d, boolean stringsOnly, boolean defaultsOnly) | Serializable | getProperty(TransactionController tc, String key) Gets the de-serialized object associated with a property key.
The Store provides a transaction protected list of database properties.
Higher levels of the system can store and retrieve these properties
once Recovery has finished. | Serializable | getPropertyDefault(TransactionController tc, String key) Get the default for a property. | void | lockProperties(TransactionController tc) Lock the database properties for an update. | boolean | propertyDefaultIsVisible(TransactionController tc, String key) | void | resetCache() | void | saveProperty(TransactionController tc, String key, Serializable value) | void | savePropertyDefault(TransactionController tc, String key, Serializable value) | void | setProperty(TransactionController tc, String key, Serializable value, boolean dbOnlyProperty) Sets the Serializable object associated with a property key.
This implementation turns the setProperty into an insert into the
PropertyConglomerate conglomerate.
See the discussion of getProperty().
The value stored may be a Formatable object or a Serializable object
whose class name starts with java.*. | void | setPropertyDefault(TransactionController tc, String key, Serializable value) Set the default for a property. |
propertiesConglomId | protected long propertiesConglomId(Code) | | |
getProperty | Serializable getProperty(TransactionController tc, String key) throws StandardException(Code) | | Gets the de-serialized object associated with a property key.
The Store provides a transaction protected list of database properties.
Higher levels of the system can store and retrieve these properties
once Recovery has finished. Each property is a serializable object
and is stored/retrieved using a String key.
In this implementation a lookup is done on the PropertyConglomerate
conglomerate, using a scan with "key" as the qualifier.
Parameters: tc - The transaction to do the Conglomerate work under. Parameters: key - The "key" of the property that is being requested. object The object associated with property key. null means no such key-value pair. exception: StandardException - Standard exception policy. |
resetCache | void resetCache()(Code) | | |
setProperty | void setProperty(TransactionController tc, String key, Serializable value, boolean dbOnlyProperty) throws StandardException(Code) | | Sets the Serializable object associated with a property key.
This implementation turns the setProperty into an insert into the
PropertyConglomerate conglomerate.
See the discussion of getProperty().
The value stored may be a Formatable object or a Serializable object
whose class name starts with java.*. This stops arbitary objects being
stored in the database by class name, which will cause problems in
obfuscated/non-obfuscated systems.
Parameters: tc - The transaction to do the Conglomerate work under. Parameters: key - The key used to lookup this property. Parameters: value - The value to be associated with this key. If null,delete the property from the properties list. exception: StandardException - Standard exception policy. |
|
|