Interface RelationshipElement.Impl
- All Superinterfaces:
PersistenceElement.Impl,PersistenceFieldElement.Impl,PersistenceMemberElement.Impl
- All Known Implementing Classes:
RelationshipElementImpl
- Enclosing class:
- RelationshipElement
Pluggable implementation of the storage of relationship element
properties.
-
Field Summary
Fields inherited from interface com.sun.jdo.api.persistence.model.jdo.PersistenceElement.Impl
ADD, REMOVE, SET -
Method Summary
Modifier and TypeMethodDescriptionvoidchangeInverseRelationship(RelationshipElement inverseRelationship) Changes the inverse relationship element for this relationship element.Get the collection class (for example Set, List, Vector, etc.)intGet the delete action for this relationship element.Get the element class for this relationship element.Get the relative name of the inverse relationship field for this relationship element.intGet the lower cardinality bound for this relationship element.intGet the update action for this relationship element.intGet the upper cardinality bound for this relationship element.booleanDetermines whether this relationship element should prefetch or not.voidsetCollectionClass(String collectionClass) Set the collection class for this relationship element.voidsetDeleteAction(int action) Set the delete action for this relationship element.voidsetElementClass(String elementClass) Set the element class for this relationship element.voidsetLowerBound(int lowerBound) Set the lower cardinality bound for this relationship element.voidsetPrefetch(boolean flag) Set whether this relationship element should prefetch or not.voidsetUpdateAction(int action) Set the update action for this relationship element.voidsetUpperBound(int upperBound) Set the upper cardinality bound for this relationship element.Methods inherited from interface com.sun.jdo.api.persistence.model.jdo.PersistenceElement.Impl
addPropertyChangeListener, addVetoableChangeListener, attachToElement, getName, removePropertyChangeListener, removeVetoableChangeListener, setNameMethods inherited from interface com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement.Impl
getPersistenceType, isKey, isReadSensitive, isWriteSensitive, setKey, setPersistenceType, setReadSensitive, setWriteSensitive
-
Method Details
-
getUpdateAction
int getUpdateAction()Get the update action for this relationship element.- Returns:
- the update action, one of
RelationshipElement.NONE_ACTION,RelationshipElement.NULLIFY_ACTION,RelationshipElement.RESTRICT_ACTION,RelationshipElement.CASCADE_ACTION, orRelationshipElement.AGGREGATE_ACTION
-
setUpdateAction
Set the update action for this relationship element.- Parameters:
action- - an integer indicating the update action, one of:RelationshipElement.NONE_ACTION,RelationshipElement.NULLIFY_ACTION,RelationshipElement.RESTRICT_ACTION,RelationshipElement.CASCADE_ACTION, orRelationshipElement.AGGREGATE_ACTION- Throws:
ModelException- if impossible
-
getDeleteAction
int getDeleteAction()Get the delete action for this relationship element.- Returns:
- the delete action, one of
RelationshipElement.NONE_ACTION,RelationshipElement.NULLIFY_ACTION,RelationshipElement.RESTRICT_ACTION,RelationshipElement.CASCADE_ACTION, orRelationshipElement.AGGREGATE_ACTION
-
setDeleteAction
Set the delete action for this relationship element.- Parameters:
action- - an integer indicating the delete action, one of:RelationshipElement.NONE_ACTION,RelationshipElement.NULLIFY_ACTION,RelationshipElement.RESTRICT_ACTION,RelationshipElement.CASCADE_ACTION, orRelationshipElement.AGGREGATE_ACTION- Throws:
ModelException- if impossible
-
isPrefetch
boolean isPrefetch()Determines whether this relationship element should prefetch or not.- Returns:
trueif the relationship should prefetch,falseotherwise
-
setPrefetch
Set whether this relationship element should prefetch or not.- Parameters:
flag- - iftrue, the relationship is set to prefetch; otherwise, it is not- Throws:
ModelException- if impossible
-
getLowerBound
int getLowerBound()Get the lower cardinality bound for this relationship element.- Returns:
- the lower cardinality bound
-
setLowerBound
Set the lower cardinality bound for this relationship element.- Parameters:
lowerBound- - an integer indicating the lower cardinality bound- Throws:
ModelException- if impossible
-
getUpperBound
int getUpperBound()Get the upper cardinality bound for this relationship element. ReturnsInteger.MAX_VALUEforn- Returns:
- the upper cardinality bound
-
setUpperBound
Set the upper cardinality bound for this relationship element.- Parameters:
upperBound- - an integer indicating the upper cardinality bound (useInteger.MAX_VALUEforn)- Throws:
ModelException- if impossible
-
getCollectionClass
String getCollectionClass()Get the collection class (for example Set, List, Vector, etc.) for this relationship element.- Returns:
- the collection class
-
setCollectionClass
Set the collection class for this relationship element.- Parameters:
collectionClass- - a string indicating the type of collection (for example Set, List, Vector, etc.)- Throws:
ModelException- if impossible
-
getElementClass
String getElementClass()Get the element class for this relationship element. If primitive types are supported, you can usewrapperclass.TYPE.toString()to specify them.- Returns:
- the element class
-
setElementClass
Set the element class for this relationship element.- Parameters:
elementClass- - a string indicating the type of elements in the collection. If primitive types are supported, you can usewrapperclass.TYPE.toString()to specify them.- Throws:
ModelException- if impossible
-
getInverseRelationshipName
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 returnsnull. 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.- Returns:
- the relative name of the inverse relationship element
- See Also:
-
changeInverseRelationship
Changes the inverse relationship element for this relationship element. This method is invoked for both sides fromRelationshipElement.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.- Parameters:
inverseRelationship- - a relationship element to be used as the inverse for this relationship element ornullif this relationship element does not participate in a two-way relationship.- Throws:
ModelException- if impossible
-