|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.openjpa.lib.conf.ConfigurationImpl
public class ConfigurationImpl
Default implementation of the Configuration
interface.
Subclasses can choose to obtain configuration
information from JNDI, Properties, a Bean-builder, etc. This class
provides base configuration functionality, including serialization,
the equals
and hashCode
contracts, and default
property loading.
Property descriptors for Value
instances are constructed from
the Localizer
for the package of the configuration class. The
following localized strings will be used for describing a value, where
name is the last token of the value's property string:
Field Summary | |
---|---|
StringValue |
id
|
ObjectValue |
logFactoryPlugin
|
Fields inherited from interface org.apache.openjpa.lib.conf.Configuration |
---|
ATTRIBUTE_ALLOWED_VALUES, ATTRIBUTE_CATEGORY, ATTRIBUTE_INTERFACE, ATTRIBUTE_ORDER, ATTRIBUTE_TYPE, ATTRIBUTE_XML, INIT_STATE_FREEZING, INIT_STATE_FROZEN, INIT_STATE_LIQUID |
Fields inherited from interface java.beans.BeanInfo |
---|
ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, ICON_MONO_32x32 |
Constructor Summary | |
---|---|
ConfigurationImpl()
Default constructor. |
|
ConfigurationImpl(boolean loadGlobals)
Constructor. |
Method Summary | ||
---|---|---|
BooleanValue |
addBoolean(String property)
Add the given value to the set of configuration properties. |
|
DoubleValue |
addDouble(String property)
Add the given value to the set of configuration properties. |
|
FileValue |
addFile(String property)
Add the given value to the set of configuration properties. |
|
IntValue |
addInt(String property)
Add the given value to the set of configuration properties. |
|
ObjectValue |
addObject(String property)
Add the given value to the set of configuration properties. |
|
PluginValue |
addPlugin(String property,
boolean singleton)
Add the given value to the set of configuration properties. |
|
PluginListValue |
addPluginList(String property)
Add the given value to the set of configuration properties. |
|
void |
addPropertyChangeListener(PropertyChangeListener listener)
Adds a listener for any property changes. |
|
StringValue |
addString(String property)
Add the given value to the set of configuration properties. |
|
StringListValue |
addStringList(String property)
Add the given value to the set of configuration properties. |
|
|
addValue(T val)
Add the given value to the set of configuration properties. |
|
Object |
clone()
Uses toProperties(boolean) and fromProperties(java.util.Map) to clone
configuration. |
|
void |
close()
Closes all closeable values and plugins. |
|
boolean |
equals(Object other)
Performs an equality check based on equality of values. |
|
(package private) String |
fixPrefix(String key)
Adds a prefix "openjpa." to the given key, if necessary. |
|
void |
fromProperties(Map map)
Set this Configuration via the given map. |
|
BeanInfo[] |
getAdditionalBeanInfo()
|
|
BeanDescriptor |
getBeanDescriptor()
|
|
Log |
getConfigurationLog()
Returns the logging channel openjpa.Runtime by default. |
|
int |
getDefaultEventIndex()
|
|
int |
getDefaultPropertyIndex()
|
|
EventSetDescriptor[] |
getEventSetDescriptors()
|
|
Image |
getIcon(int kind)
|
|
String |
getId()
An environment-specific identifier for this configuration. |
|
String |
getLog()
Log plugin setting. |
|
Log |
getLog(String category)
Return the log for the given category. |
|
LogFactory |
getLogFactory()
The log factory. |
|
MethodDescriptor[] |
getMethodDescriptors()
|
|
String |
getProductName()
Return the product name. |
|
String |
getPropertiesResource()
Return the resource that was set via auto-configuration methods setProperties(java.lang.String) or setPropertiesFile(java.io.File) , or null if none. |
|
PropertyDescriptor[] |
getPropertyDescriptors()
|
|
Set<String> |
getPropertyKeys()
Gets all known property keys. |
|
List<String> |
getPropertyKeys(String propertyName)
Get the set of all known property keys, including any equivalent keys, appropriately prefixed. |
|
Value |
getValue(String property)
Gets the registered Value for the given propertyName. |
|
Value[] |
getValues()
Return the set of all Value s. |
|
int |
hashCode()
Computes hash code based on the hashCodes of the values. |
|
(package private) boolean |
hasKnownPrefix(String key)
|
|
void |
instantiateAll()
Call the instantiating get methods for all values. |
|
protected boolean |
isInvalidProperty(String propName)
Returns true if the specified property name should raise a warning if it is not found in the list of known properties. |
|
boolean |
isReadOnly()
Return true if this configuration is immutable. |
|
boolean |
loadGlobals()
Automatically load global values from the system's ProductDerivation s, and from System properties. |
|
protected void |
preClose()
Invoked by final method close() after invoking the
ProductDerivation.beforeConfigurationClose(org.apache.openjpa.lib.conf.Configuration) callbacks
but before performing internal close operations. |
|
void |
readExternal(ObjectInput in)
Implementation of the Externalizable interface to read from
the properties written by writeExternal(java.io.ObjectOutput) . |
|
void |
removePropertyChangeListener(PropertyChangeListener listener)
Removes a listener for any property changes. |
|
boolean |
removeValue(Value val)
Remove the given value from the set of configuration properties. |
|
void |
setId(String id)
An environment-specific identifier for this configuration. |
|
void |
setLog(String log)
Log plugin setting. |
|
void |
setLogFactory(LogFactory logFactory)
The log factory. |
|
void |
setProductName(String name)
Set the product name. |
|
void |
setProperties(String resourceName)
This method loads the named resource as a properties file. |
|
void |
setPropertiesFile(File file)
This method loads the named file as a properties file. |
|
void |
setReadOnly(int newState)
Lock down the configuration's state. |
|
Map |
toProperties(boolean storeDefaults)
An internal method to retrieve properties, to support 2 public methods, getAllProperties() and toProperties(boolean). |
|
static String |
toXMLName(String propName)
Convert propName to a lowercase-with-hyphens-style string. |
|
void |
valueChanged(Value val)
Callback used by Value objects to notify listener of change. |
|
void |
writeExternal(ObjectOutput out)
Implementation of the Externalizable interface to write
the properties returned by toProperties(boolean) . |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public ObjectValue logFactoryPlugin
public StringValue id
Constructor Detail |
---|
public ConfigurationImpl()
ProductDerivation
s.
public ConfigurationImpl(boolean loadGlobals)
loadGlobals
- whether to attempt to load the global propertiesMethod Detail |
---|
public boolean loadGlobals()
ProductDerivation
s, and from System properties.
public String getProductName()
Configuration
openjpa
.
getProductName
in interface Configuration
public void setProductName(String name)
Configuration
setProductName
in interface Configuration
public LogFactory getLogFactory()
Configuration
getLogFactory
in interface Configuration
public void setLogFactory(LogFactory logFactory)
Configuration
setLogFactory
in interface Configuration
public String getLog()
Configuration
getLog
in interface Configuration
public void setLog(String log)
Configuration
setLog
in interface Configuration
public Log getLog(String category)
Configuration
getLog
in interface Configuration
Configuration.getLogFactory()
public String getId()
Configuration
getId
in interface Configuration
public void setId(String id)
Configuration
setId
in interface Configuration
public Log getConfigurationLog()
openjpa.Runtime
by default.
getConfigurationLog
in interface Configuration
public Value[] getValues()
Configuration
Value
s.
getValues
in interface Configuration
public Value getValue(String property)
getValue
in interface Configuration
propertyName
- can be either fully-qualified name or the simple name
with which the value has been registered. A value may have multiple
equivalent names and this method searches with all equivalent names.public void setReadOnly(int newState)
Configuration
setReadOnly
in interface Configuration
public void instantiateAll()
Configuration
instantiateAll
in interface Configuration
public boolean isReadOnly()
Configuration
isReadOnly
in interface Configuration
public void addPropertyChangeListener(PropertyChangeListener listener)
Configuration
addPropertyChangeListener
in interface Configuration
listener
- the listener to receive notification of property changespublic void removePropertyChangeListener(PropertyChangeListener listener)
Configuration
removePropertyChangeListener
in interface Configuration
listener
- the listener to removepublic void valueChanged(Value val)
ValueListener
Value
objects to notify listener of change.
valueChanged
in interface ValueListener
public final void close()
close
in interface Configuration
close
in interface Closeable
protected void preClose()
close()
after invoking the
ProductDerivation.beforeConfigurationClose(org.apache.openjpa.lib.conf.Configuration)
callbacks
but before performing internal close operations.
public BeanInfo[] getAdditionalBeanInfo()
getAdditionalBeanInfo
in interface BeanInfo
public BeanDescriptor getBeanDescriptor()
getBeanDescriptor
in interface BeanInfo
public int getDefaultEventIndex()
getDefaultEventIndex
in interface BeanInfo
public int getDefaultPropertyIndex()
getDefaultPropertyIndex
in interface BeanInfo
public EventSetDescriptor[] getEventSetDescriptors()
getEventSetDescriptors
in interface BeanInfo
public Image getIcon(int kind)
getIcon
in interface BeanInfo
public MethodDescriptor[] getMethodDescriptors()
getMethodDescriptors
in interface BeanInfo
public PropertyDescriptor[] getPropertyDescriptors()
getPropertyDescriptors
in interface BeanInfo
public Map toProperties(boolean storeDefaults)
toProperties
in interface Configuration
storeDefaults
- whether or not to retrieve a property if its value is the
default value. This parameter is irrelevant if getAll is true.getAll
- whether or not to get all of the properties
public void fromProperties(Map map)
Configuration
equals
and
hashCode
methods. If the object's property has no
string form(such as an ObjectValue
), the object is not
part of the equality and hashing calculations.
fromProperties
in interface Configuration
public List<String> getPropertyKeys(String propertyName)
Configuration
getPropertyKeys
in interface Configuration
propertyName
- the name of the property for which the keys are
to be retrieved.public Set<String> getPropertyKeys()
getPropertyKeys
in interface Configuration
The Values that are {@linkplain Value#makePrivate() marked private} are filtered out.
String fixPrefix(String key)
"openjpa."
to the given key, if necessary. A key is
considered without prefix if it starts neither of "openjpa."
,
"java."
and "javax."
.
boolean hasKnownPrefix(String key)
protected boolean isInvalidProperty(String propName)
public void setProperties(String resourceName) throws IOException
properties
value with the name of a resource.
IOException
public void setPropertiesFile(File file) throws IOException
propertiesFile
value with the name of a file.
IOException
public String getPropertiesResource()
setProperties(java.lang.String)
or setPropertiesFile(java.io.File)
, or null if none.
public boolean equals(Object other)
Equality
of Values varies if the Value is
dynamic
.
equals
in class Object
public int hashCode()
HashCode
of a Value varies if the Value is
dynamic
.
hashCode
in class Object
public static String toXMLName(String propName)
propName
to a lowercase-with-hyphens-style string.
This algorithm is only designed for mixes of uppercase and lowercase
letters and lone digits. A more sophisticated conversion should probably
be handled by a proper parser generator or regular expressions.
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
Externalizable
interface to read from
the properties written by writeExternal(java.io.ObjectOutput)
.
readExternal
in interface Externalizable
IOException
ClassNotFoundException
public void writeExternal(ObjectOutput out) throws IOException
Externalizable
interface to write
the properties returned by toProperties(boolean)
.
writeExternal
in interface Externalizable
IOException
public Object clone()
toProperties(boolean)
and fromProperties(java.util.Map)
to clone
configuration.
clone
in interface Configuration
clone
in class Object
public boolean removeValue(Value val)
Configuration
removeValue
in interface Configuration
public <T extends Value> T addValue(T val)
Configuration
addValue
in interface Configuration
public StringValue addString(String property)
public FileValue addFile(String property)
public IntValue addInt(String property)
public DoubleValue addDouble(String property)
public BooleanValue addBoolean(String property)
public StringListValue addStringList(String property)
public ObjectValue addObject(String property)
public PluginValue addPlugin(String property, boolean singleton)
public PluginListValue addPluginList(String property)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |