org.datanucleus
Class PersistenceConfiguration

java.lang.Object
  extended by org.datanucleus.PersistenceConfiguration
Direct Known Subclasses:
ObjectManagerFactoryImpl

public abstract class PersistenceConfiguration
extends java.lang.Object

Class providing configuration for persistence. Persistence properties should be defined in the "plugin.xml" of the plugin that originates them. This class will read the available defined plugin properties (and their defaults, validators etc) and loaded up accordingly. Then any user-provided properties are superimposed over the top of these. Components can then access these properties using any of the convenience accessors for boolean, Boolean, long, int, Object, String types.


Field Summary
protected static Localiser LOCALISER
          Localisation of messages.
 
Constructor Summary
PersistenceConfiguration()
          Constructor.
 
Method Summary
protected  void assertConfigurable()
          Asserts that a change to a configuration property is allowed.
 boolean equals(java.lang.Object obj)
          Equality operator.
 java.lang.Boolean getBooleanObjectProperty(java.lang.String name)
          Accessor for the specified property as a Boolean.
 boolean getBooleanProperty(java.lang.String name)
          Accessor for the specified property as a boolean.
 boolean getBooleanProperty(java.lang.String name, boolean resultIfNotSet)
          Accessor for the specified property as a boolean.
 java.util.Calendar getCalendarForDateTimezone()
          Accessor for the Calendar to be used in handling all timezone issues with the datastore.
 int getIntProperty(java.lang.String name)
          Accessor for the specified property as an int.
 long getLongProperty(java.lang.String name)
          Accessor for the specified property as a long.
 java.util.Map<java.lang.String,java.lang.Object> getPersistenceProperties()
          Accessor for the persistence properties.
 java.lang.ClassLoader getPrimaryClassLoader()
          Accessor for the primary class loader
 java.lang.Object getProperty(java.lang.String name)
          Accessor for the specified property as an Object.
 java.lang.String getStringProperty(java.lang.String name)
          Accessor for the specified property as a String.
 java.util.Set<java.lang.String> getSupportedProperties()
          Accessor for the names of the supported persistence properties.
 boolean hasProperty(java.lang.String name)
          Accessor for whether a particular property is defined.
protected  boolean isConfigurable()
          Accessor for whether this is still configurable (can set more properties etc).
 void setDefaultProperties(PluginManager pluginMgr)
          Method to set the persistence property defaults based on what is defined for plugins.
protected  void setIsNotConfigurable()
          Method to set that this is no longer configurable.
 void setPersistenceProperties(java.util.Map props)
          Set the properties for this configuration.
 void setPrimaryClassLoader(java.lang.ClassLoader loader)
          Mutator to set the primary class loader.
 void setPropertiesUsingFile(java.lang.String filename)
          Method to set the persistence properties using those defined in a file.
 void setProperty(java.lang.String name, java.lang.Object value)
          Convenience method to set a persistence property.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOCALISER

protected static final Localiser LOCALISER
Localisation of messages.

Constructor Detail

PersistenceConfiguration

public PersistenceConfiguration()
Constructor.

Method Detail

getSupportedProperties

public java.util.Set<java.lang.String> getSupportedProperties()
Accessor for the names of the supported persistence properties.

Returns:
The persistence properties that we support

setDefaultProperties

public void setDefaultProperties(PluginManager pluginMgr)
Method to set the persistence property defaults based on what is defined for plugins.

Parameters:
pluginMgr - The plugin manager

getPersistenceProperties

public java.util.Map<java.lang.String,java.lang.Object> getPersistenceProperties()
Accessor for the persistence properties.

Returns:
The persistence properties

getProperty

public java.lang.Object getProperty(java.lang.String name)
Accessor for the specified property as an Object. If the specified property isn't found returns null.

Parameters:
name - Name of the property
Returns:
Value for the property

hasProperty

public boolean hasProperty(java.lang.String name)
Accessor for whether a particular property is defined.

Parameters:
name - Property name
Returns:
Whether the property is defined

getLongProperty

public long getLongProperty(java.lang.String name)
Accessor for the specified property as a long. If the specified property isn't found returns 0.

Parameters:
name - Name of the property
Returns:
Long value for the property
Throws:
PropertyTypeInvalidException - thrown when the property is not available as this type

getIntProperty

public int getIntProperty(java.lang.String name)
Accessor for the specified property as an int. If the specified property isn't found returns 0.

Parameters:
name - Name of the property
Returns:
Int value for the property
Throws:
PropertyTypeInvalidException - thrown when the property is not available as this type

getBooleanProperty

public boolean getBooleanProperty(java.lang.String name)
Accessor for the specified property as a boolean. If the specified property isn't found returns false.

Parameters:
name - Name of the property
Returns:
Boolean value for the property
Throws:
PropertyTypeInvalidException - thrown when the property is not available as this type

getBooleanProperty

public boolean getBooleanProperty(java.lang.String name,
                                  boolean resultIfNotSet)
Accessor for the specified property as a boolean.

Parameters:
name - Name of the property
resultIfNotSet - The value to return if no value for the specified property is found.
Returns:
Boolean value for the property
Throws:
PropertyTypeInvalidException - thrown when the property is not available as this type

getBooleanObjectProperty

public java.lang.Boolean getBooleanObjectProperty(java.lang.String name)
Accessor for the specified property as a Boolean. If the specified property isn't found returns false.

Parameters:
name - Name of the property
Returns:
Boolean value for the property
Throws:
PropertyTypeInvalidException - thrown when the property is not available as this type

getStringProperty

public java.lang.String getStringProperty(java.lang.String name)
Accessor for the specified property as a String. If the specified property isn't found returns null.

Parameters:
name - Name of the property
Returns:
String value for the property
Throws:
PropertyTypeInvalidException - thrown when the property is not available as this type

getCalendarForDateTimezone

public java.util.Calendar getCalendarForDateTimezone()
Accessor for the Calendar to be used in handling all timezone issues with the datastore. Utilises the "serverTimeZoneID" in providing this Calendar used in time/date conversions.

Returns:
The calendar to use for dateTimezone issues.

setPrimaryClassLoader

public void setPrimaryClassLoader(java.lang.ClassLoader loader)
Mutator to set the primary class loader. Setter provided since the input is an object and so cannot go through property input

Parameters:
loader - Loader

getPrimaryClassLoader

public java.lang.ClassLoader getPrimaryClassLoader()
Accessor for the primary class loader

Returns:
primary class loader

setPropertiesUsingFile

public void setPropertiesUsingFile(java.lang.String filename)
Method to set the persistence properties using those defined in a file.

Parameters:
filename - Name of the file containing the properties

setPersistenceProperties

public void setPersistenceProperties(java.util.Map props)
Set the properties for this configuration. Note : this has this name so it has a getter/setter pair for use by things like Spring.

Parameters:
props - The persistence properties

setProperty

public void setProperty(java.lang.String name,
                        java.lang.Object value)
Convenience method to set a persistence property. Uses any validator defined for the property to govern whether the value is suitable.

Parameters:
name - Name of the property
value - Value

equals

public boolean equals(java.lang.Object obj)
Equality operator.

Overrides:
equals in class java.lang.Object
Parameters:
obj - Object to compare against.
Returns:
Whether the objects are equal.

isConfigurable

protected boolean isConfigurable()
Accessor for whether this is still configurable (can set more properties etc).

Returns:
Whether it is configurable

setIsNotConfigurable

protected void setIsNotConfigurable()
Method to set that this is no longer configurable. Can no longer become configurable.


assertConfigurable

protected void assertConfigurable()
Asserts that a change to a configuration property is allowed.

Throws:
NucleusUserException - if not configurable. Override in subclass if wanting other exception


Copyright © 2010. All Rights Reserved.