org.exolab.castor.jdo.engine.nature
Class ClassDescriptorJDONature

java.lang.Object
  extended by org.castor.core.nature.BaseNature
      extended by org.exolab.castor.jdo.engine.nature.ClassDescriptorJDONature

public class ClassDescriptorJDONature
extends BaseNature

JDO-specific nature for ClassDescriptor.

Augments ClassDescriptor to include persistence-specific data such as e.g. the table name, cache parameter, key generators, access mode and other SQL-related information.

To access persistence-specific data of a ClassDescriptor, use the following code fragment to ...

  1. check for this nature
  2. apply this nature to the ClassDescriptor in question.
  3. access e.g. the table name.
Sample - Looking up table name
    ClassDescriptor classDescriptor = ...;                                               
    ...
    if (classDescriptor.hasNature(ClassDescriptorJDONature.class.getName()) {              1)
       ClassDescriptorJDONature nature = new ClassDescriptorJDONature(classDescriptor);    2)
       ...
       String tableName = nature.getTableName();                                           3)
    }
 

Since:
1.2.1
Author:
Werner Guttmann

Constructor Summary
ClassDescriptorJDONature(PropertyHolder holder)
          Creates an instance of ClassDescriptorJDONature.
 
Method Summary
 void addCacheParam(java.lang.String key, java.lang.String value)
          Adds a cache parameter to this ClassDescriptor.
 void addExtended(ClassDescriptor classDesc)
          Adds a ClassDescriptor that extends this class.
 void addNamedQuery(java.lang.String name, java.lang.String query)
          Adds a named query to this ClassDescriptor.
 AccessMode getAccessMode()
          Returns the access mode to which this object maps.
 java.util.Properties getCacheParams()
          Returns the cache parameters defined for this ClassDescriptor.
 java.util.Collection<ClassDescriptor> getExtended()
          Returns a collection of ClassDescriptors that extend this class (descriptor).
 FieldDescriptor getField(java.lang.String name)
          Returns the FieldDescriptor for the given name.
 java.lang.String getId()
          
 KeyGeneratorDescriptor getKeyGeneratorDescriptor()
          Get key generator specified for this class.
 java.util.Map getNamedQueries()
          Get map of named query strings associated with their names.
 java.lang.String getTableName()
          Returns the table name to which this object maps.
 void setAccessMode(AccessMode accessMode)
          Sets the access mode to which this ClassDescriptor maps.
 void setKeyGeneratorDescriptor(KeyGeneratorDescriptor keyGenDesc)
          Set key generator specified for this class.
 void setTableName(java.lang.String tableName)
           
 
Methods inherited from class org.castor.core.nature.BaseNature
getBooleanPropertyDefaultFalse, getHolder, getProperty, getPropertyAsList, getPropertyAsMap, setProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassDescriptorJDONature

public ClassDescriptorJDONature(PropertyHolder holder)
Creates an instance of ClassDescriptorJDONature.

Parameters:
holder - The PropertyHolder to 'view upon'.
Method Detail

getId

public java.lang.String getId()

See Also:
Nature.getId()

setTableName

public void setTableName(java.lang.String tableName)

getTableName

public java.lang.String getTableName()
Returns the table name to which this object maps.

Returns:
Table name

setAccessMode

public void setAccessMode(AccessMode accessMode)
Sets the access mode to which this ClassDescriptor maps.

Parameters:
accessMode - The access mode to be used.

getAccessMode

public AccessMode getAccessMode()
Returns the access mode to which this object maps.

Returns:
Access mode

setKeyGeneratorDescriptor

public void setKeyGeneratorDescriptor(KeyGeneratorDescriptor keyGenDesc)
Set key generator specified for this class.

Parameters:
keyGenDesc - Key generator descriptor.

getKeyGeneratorDescriptor

public KeyGeneratorDescriptor getKeyGeneratorDescriptor()
Get key generator specified for this class.

Returns:
Key generator descriptor.

addCacheParam

public void addCacheParam(java.lang.String key,
                          java.lang.String value)
Adds a cache parameter to this ClassDescriptor.

Parameters:
key - The cache parameter key.
value - The cache parameter value.

getCacheParams

public java.util.Properties getCacheParams()
Returns the cache parameters defined for this ClassDescriptor.

Returns:
the defined cache parameters

addNamedQuery

public void addNamedQuery(java.lang.String name,
                          java.lang.String query)
Adds a named query to this ClassDescriptor.

Parameters:
name - The name of the named query.
query - The query string

getNamedQueries

public java.util.Map getNamedQueries()
Get map of named query strings associated with their names.

Returns:
Map of named query strings associated with their names.

getField

public FieldDescriptor getField(java.lang.String name)
Returns the FieldDescriptor for the given name.

Parameters:
name - A field name.
Returns:
The associated FieldDescriptor.

addExtended

public void addExtended(ClassDescriptor classDesc)
Adds a ClassDescriptor that extends this class.

Parameters:
classDesc - A ClassDescriptor that extends this class.

getExtended

public java.util.Collection<ClassDescriptor> getExtended()
Returns a collection of ClassDescriptors that extend this class (descriptor).

Returns:
A collection of ClassDescriptors that extend this class.


Copyright © 2011. All Rights Reserved.