com.sun.jdo.api.persistence.model.jdo.impl
Class RelationshipElementImpl

java.lang.Object
  extended by com.sun.jdo.api.persistence.model.jdo.impl.PersistenceElementImpl
      extended by com.sun.jdo.api.persistence.model.jdo.impl.PersistenceMemberElementImpl
          extended by com.sun.jdo.api.persistence.model.jdo.impl.PersistenceFieldElementImpl
              extended by com.sun.jdo.api.persistence.model.jdo.impl.RelationshipElementImpl
All Implemented Interfaces:
PersistenceElement.Impl, PersistenceElementProperties, PersistenceFieldElement.Impl, PersistenceMemberElement.Impl, RelationshipElement.Impl

public class RelationshipElementImpl
extends PersistenceFieldElementImpl
implements RelationshipElement.Impl

Version:
%I%
Author:
raccah

Field Summary
 
Fields inherited from interface com.sun.jdo.api.persistence.model.jdo.PersistenceElement.Impl
ADD, REMOVE, SET
 
Fields inherited from interface com.sun.jdo.api.persistence.model.jdo.PersistenceElementProperties
PROP_CARDINALITY, PROP_COLLECTION_CLASS, PROP_DELETE_ACTION, PROP_ELEMENT_CLASS, PROP_FIELDS, PROP_GROUPS, PROP_IDENTITY, PROP_INVERSE_FIELD, PROP_KEY_CLASS, PROP_KEY_FIELD, PROP_MODIFIED, PROP_NAME, PROP_PERSISTENCE, PROP_PREFETCH, PROP_SENSITIVITY, PROP_UPDATE_ACTION
 
Constructor Summary
RelationshipElementImpl()
          Create new RelationshipElementImpl with no corresponding name.
RelationshipElementImpl(String name)
          Creates new RelationshipElementImpl with the corresponding name
 
Method Summary
 void changeInverseRelationship(RelationshipElement inverseRelationship)
          Changes the inverse relationship element for this relationship element.
 String getCollectionClass()
          Get the collection class (for example Set, List, Vector, etc.) for this relationship element.
 int getDeleteAction()
          Get the delete action for this relationship element.
 String getElementClass()
          Get the element class for this relationship element.
 String getInverseRelationshipName()
          Get the relative name of the inverse relationship field for this relationship element.
 int getLowerBound()
          Get the lower cardinality bound for this relationship element.
 int getUpdateAction()
          Get the update action for this relationship element.
 int getUpperBound()
          Get the upper cardinality bound for this relationship element.
 boolean isPrefetch()
          Determines whether this relationship element should prefetch or not.
 void setCollectionClass(String collectionClass)
          Set the collection class for this relationship element.
 void setDeleteAction(int action)
          Set the delete action for this relationship element.
 void setElementClass(String elementClass)
          Set the element class for this relationship element.
 void setLowerBound(int lowerBound)
          Set the lower cardinality bound for this relationship element.
 void setPrefetch(boolean flag)
          Set whether this relationship element should prefetch or not.
 void setUpdateAction(int action)
          Set the update action for this relationship element.
 void setUpperBound(int upperBound)
          Set the upper cardinality bound for this relationship element.
 
Methods inherited from class com.sun.jdo.api.persistence.model.jdo.impl.PersistenceFieldElementImpl
getPersistenceType, isKey, isReadSensitive, isWriteSensitive, setKey, setPersistenceType, setReadSensitive, setWriteSensitive
 
Methods inherited from class com.sun.jdo.api.persistence.model.jdo.impl.PersistenceMemberElementImpl
firePropertyChange, fireVetoableChange
 
Methods inherited from class com.sun.jdo.api.persistence.model.jdo.impl.PersistenceElementImpl
addPropertyChangeListener, addVetoableChangeListener, attachToElement, getName, removePropertyChangeListener, removeVetoableChangeListener, setName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement.Impl
getPersistenceType, isKey, isReadSensitive, isWriteSensitive, setKey, setPersistenceType, setReadSensitive, setWriteSensitive
 
Methods inherited from interface com.sun.jdo.api.persistence.model.jdo.PersistenceElement.Impl
addPropertyChangeListener, addVetoableChangeListener, attachToElement, getName, removePropertyChangeListener, removeVetoableChangeListener, setName
 

Constructor Detail

RelationshipElementImpl

public RelationshipElementImpl()
Create new RelationshipElementImpl with no corresponding name. This constructor should only be used for cloning and archiving.


RelationshipElementImpl

public RelationshipElementImpl(String name)
Creates new RelationshipElementImpl with the corresponding name

Parameters:
name - the name of the element
Method Detail

getUpdateAction

public int getUpdateAction()
Get the update action for this relationship element.

Specified by:
getUpdateAction in interface RelationshipElement.Impl
Returns:
the update action, one of RelationshipElement.NONE_ACTION, RelationshipElement.NULLIFY_ACTION, RelationshipElement.RESTRICT_ACTION, RelationshipElement.CASCADE_ACTION, or RelationshipElement.AGGREGATE_ACTION. The default is NONE_ACTION.

setUpdateAction

public void setUpdateAction(int action)
                     throws ModelException
Set the update action for this relationship element.

Specified by:
setUpdateAction in interface RelationshipElement.Impl
Parameters:
action - - an integer indicating the update action, one of: RelationshipElement.NONE_ACTION, RelationshipElement.NULLIFY_ACTION, RelationshipElement.RESTRICT_ACTION, RelationshipElement.CASCADE_ACTION, or RelationshipElement.AGGREGATE_ACTION
Throws:
ModelException - if impossible

getDeleteAction

public int getDeleteAction()
Get the delete action for this relationship element.

Specified by:
getDeleteAction in interface RelationshipElement.Impl
Returns:
the delete action, one of RelationshipElement.NONE_ACTION, RelationshipElement.NULLIFY_ACTION, RelationshipElement.RESTRICT_ACTION, RelationshipElement.CASCADE_ACTION, or RelationshipElement.AGGREGATE_ACTION. The default is NONE_ACTION.

setDeleteAction

public void setDeleteAction(int action)
                     throws ModelException
Set the delete action for this relationship element.

Specified by:
setDeleteAction in interface RelationshipElement.Impl
Parameters:
action - - an integer indicating the delete action, one of: RelationshipElement.NONE_ACTION, RelationshipElement.NULLIFY_ACTION, RelationshipElement.RESTRICT_ACTION, RelationshipElement.CASCADE_ACTION, or RelationshipElement.AGGREGATE_ACTION
Throws:
ModelException - if impossible

isPrefetch

public boolean isPrefetch()
Determines whether this relationship element should prefetch or not.

Specified by:
isPrefetch in interface RelationshipElement.Impl
Returns:
true if the relationship should prefetch, false otherwise. The default is false.

setPrefetch

public void setPrefetch(boolean flag)
                 throws ModelException
Set whether this relationship element should prefetch or not.

Specified by:
setPrefetch in interface RelationshipElement.Impl
Parameters:
flag - - if true, the relationship is set to prefetch; otherwise, it is not
Throws:
ModelException - if impossible

getLowerBound

public int getLowerBound()
Get the lower cardinality bound for this relationship element. The default is 0.

Specified by:
getLowerBound in interface RelationshipElement.Impl
Returns:
the lower cardinality bound

setLowerBound

public void setLowerBound(int lowerBound)
                   throws ModelException
Set the lower cardinality bound for this relationship element.

Specified by:
setLowerBound in interface RelationshipElement.Impl
Parameters:
lowerBound - - an integer indicating the lower cardinality bound
Throws:
ModelException - if impossible

getUpperBound

public int getUpperBound()
Get the upper cardinality bound for this relationship element. The default is Integer.MAX_VALUE. Returns Integer.MAX_VALUE for n

Specified by:
getUpperBound in interface RelationshipElement.Impl
Returns:
the upper cardinality bound

setUpperBound

public void setUpperBound(int upperBound)
                   throws ModelException
Set the upper cardinality bound for this relationship element.

Specified by:
setUpperBound in interface RelationshipElement.Impl
Parameters:
upperBound - - an integer indicating the upper cardinality bound (use Integer.MAX_VALUE for n)
Throws:
ModelException - if impossible

getCollectionClass

public String getCollectionClass()
Get the collection class (for example Set, List, Vector, etc.) for this relationship element.

Specified by:
getCollectionClass in interface RelationshipElement.Impl
Returns:
the collection class

setCollectionClass

public void setCollectionClass(String collectionClass)
                        throws ModelException
Set the collection class for this relationship element.

Specified by:
setCollectionClass in interface RelationshipElement.Impl
Parameters:
collectionClass - - a string indicating the type of collection (for example Set, List, Vector, etc.)
Throws:
ModelException - if impossible

getElementClass

public String getElementClass()
Get the element class for this relationship element. If primitive types are supported, you can use wrapperclass.TYPE.toString() to specify them.

Specified by:
getElementClass in interface RelationshipElement.Impl
Returns:
the element class

setElementClass

public void setElementClass(String elementClass)
                     throws ModelException
Set the element class for this relationship element.

Specified by:
setElementClass in interface RelationshipElement.Impl
Parameters:
elementClass - - a string indicating the type of elements in the collection. If primitive types are supported, you can use wrapperclass.TYPE.toString() to specify them.
Throws:
ModelException - if impossible

getInverseRelationshipName

public String getInverseRelationshipName()
Get the relative name of the inverse relationship field for this relationship element. In the case of two-way relationships, the two relationship elements involved are inverses of each other. If this relationship element does not participate in a two-way relationship, this returns null. Note that it is possible to have this method return a value, but because of the combination of related class and lookup, there may be no corresponding RelationshipElement which can be found.

Specified by:
getInverseRelationshipName in interface RelationshipElement.Impl
Returns:
the relative name of the inverse relationship element
See Also:
RelationshipElement.getInverseRelationship(com.sun.jdo.api.persistence.model.Model)

changeInverseRelationship

public void changeInverseRelationship(RelationshipElement inverseRelationship)
                               throws ModelException
Changes the inverse relationship element for this relationship element. This method is invoked for both sides from RelationshipElement.setInverseRelationship(com.sun.jdo.api.persistence.model.jdo.RelationshipElement, com.sun.jdo.api.persistence.model.Model) and should handle the vetoable change events, property change events, and setting the internal variable.

Specified by:
changeInverseRelationship in interface RelationshipElement.Impl
Parameters:
inverseRelationship - - a relationship element to be used as the inverse for this relationship element or null if this relationship element does not participate in a two-way relationship.
Throws:
ModelException - if impossible


Copyright © 2012 GlassFish Community. All Rights Reserved.