public class BasicIndirectionPolicy extends IndirectionPolicy
ForeignReferenceMapping,
Serialized Formmapping| Constructor and Description |
|---|
BasicIndirectionPolicy()
INTERNAL:
Construct a new indirection policy.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
backupCloneAttribute(java.lang.Object attributeValue,
java.lang.Object clone,
java.lang.Object backup,
UnitOfWorkImpl unitOfWork)
INTERNAL:
Return a backup clone of the attribute.
|
java.lang.Object |
cloneAttribute(java.lang.Object attributeValue,
java.lang.Object original,
java.lang.Object clone,
UnitOfWorkImpl unitOfWork,
boolean buildDirectlyFromRow)
INTERNAL:
Return a clone of the attribute.
|
java.util.Vector |
extractPrimaryKeyForReferenceObject(java.lang.Object referenceObject,
AbstractSession session)
INTERNAL:
Return the primary key for the reference object (i.e.
|
AbstractRecord |
extractReferenceRow(java.lang.Object referenceObject)
INTERNAL:
Return the reference row for the reference object.
|
java.lang.Object |
getOriginalIndirectionObject(java.lang.Object unitOfWorkIndirectionObject,
AbstractSession session)
INTERNAL:
Return the original indirection object for a unit of work indirection object.
|
java.lang.Object |
getRealAttributeValueFromObject(java.lang.Object object,
java.lang.Object attribute)
INTERNAL:
Return the "real" attribute value, as opposed to any wrapper.
|
void |
iterateOnAttributeValue(DescriptorIterator iterator,
java.lang.Object attributeValue)
INTERNAL:
Iterate over the specified attribute value,
|
java.lang.Object |
nullValueFromRow()
INTERNAL:
Return the null value of the appropriate attribute.
|
boolean |
objectIsInstantiated(java.lang.Object object)
INTERNAL:
Return whether the specified object is instantiated.
|
void |
setRealAttributeValueInObject(java.lang.Object target,
java.lang.Object attributeValue)
INTERNAL:
Set the value of the appropriate attribute of target to attributeValue.
|
protected boolean |
typeIsValid(java.lang.Class attributeType)
INTERNAL:
Return whether the type is appropriate for the indirection policy.
|
java.lang.Object |
validateAttributeOfInstantiatedObject(java.lang.Object attributeValue)
INTERNAL:
Verify that the value of the attribute within an instantiated object
is of the appropriate type for the indirection policy.
|
void |
validateDeclaredAttributeType(java.lang.Class attributeType,
IntegrityChecker checker)
INTERNAL:
Verify that attributeType is correct for the
indirection policy.
|
void |
validateGetMethodReturnType(java.lang.Class returnType,
IntegrityChecker checker)
INTERNAL:
Verify that getter returnType is correct for the
indirection policy.
|
void |
validateSetMethodParameterType(java.lang.Class parameterType,
IntegrityChecker checker)
INTERNAL:
Verify that setter parameterType is correct for the
indirection policy.
|
java.lang.Object |
valueFromQuery(ReadQuery query,
AbstractRecord row,
AbstractSession session)
INTERNAL:
Return the value to be stored in the object's attribute.
|
java.lang.Object |
valueFromRow(java.lang.Object object)
INTERNAL:
Return the value to be stored in the object's attribute.
|
buildCascadeQuery, clone, getCollectionMapping, getForeignReferenceMapping, getMapping, getOneToOneMapping, getValueFromProxy, initialize, setMapping, usesIndirection, usesTransparentIndirection, validateContainerPolicy, validateDeclaredAttributeTypeForCollection, validateGetMethodReturnTypeForCollection, validateSetMethodParameterTypeForCollectionpublic BasicIndirectionPolicy()
public java.lang.Object backupCloneAttribute(java.lang.Object attributeValue,
java.lang.Object clone,
java.lang.Object backup,
UnitOfWorkImpl unitOfWork)
backupCloneAttribute in class IndirectionPolicypublic java.lang.Object cloneAttribute(java.lang.Object attributeValue,
java.lang.Object original,
java.lang.Object clone,
UnitOfWorkImpl unitOfWork,
boolean buildDirectlyFromRow)
cloneAttribute in class IndirectionPolicybuildDirectlyFromRow - indicates that we are building the clone
directly from a row as opposed to building the original from the
row, putting it in the shared cache, and then cloning the original.public java.util.Vector extractPrimaryKeyForReferenceObject(java.lang.Object referenceObject,
AbstractSession session)
extractPrimaryKeyForReferenceObject in class IndirectionPolicypublic AbstractRecord extractReferenceRow(java.lang.Object referenceObject)
extractReferenceRow in class IndirectionPolicypublic java.lang.Object getOriginalIndirectionObject(java.lang.Object unitOfWorkIndirectionObject,
AbstractSession session)
getOriginalIndirectionObject in class IndirectionPolicypublic java.lang.Object getRealAttributeValueFromObject(java.lang.Object object,
java.lang.Object attribute)
getRealAttributeValueFromObject in class IndirectionPolicypublic void iterateOnAttributeValue(DescriptorIterator iterator, java.lang.Object attributeValue)
iterateOnAttributeValue in class IndirectionPolicypublic java.lang.Object nullValueFromRow()
nullValueFromRow in class IndirectionPolicypublic boolean objectIsInstantiated(java.lang.Object object)
objectIsInstantiated in class IndirectionPolicypublic void setRealAttributeValueInObject(java.lang.Object target,
java.lang.Object attributeValue)
setRealAttributeValueInObject in class IndirectionPolicyprotected boolean typeIsValid(java.lang.Class attributeType)
public java.lang.Object validateAttributeOfInstantiatedObject(java.lang.Object attributeValue)
validateAttributeOfInstantiatedObject in class IndirectionPolicypublic void validateDeclaredAttributeType(java.lang.Class attributeType,
IntegrityChecker checker)
throws DescriptorException
validateDeclaredAttributeType in class IndirectionPolicyDescriptorExceptionpublic void validateGetMethodReturnType(java.lang.Class returnType,
IntegrityChecker checker)
throws DescriptorException
validateGetMethodReturnType in class IndirectionPolicyDescriptorExceptionpublic void validateSetMethodParameterType(java.lang.Class parameterType,
IntegrityChecker checker)
throws DescriptorException
validateSetMethodParameterType in class IndirectionPolicyDescriptorExceptionpublic java.lang.Object valueFromQuery(ReadQuery query, AbstractRecord row, AbstractSession session)
valueFromQuery in class IndirectionPolicypublic java.lang.Object valueFromRow(java.lang.Object object)
valueFromRow in class IndirectionPolicy