Class ReturningPolicy
- java.lang.Object
-
- org.eclipse.persistence.descriptors.ReturningPolicy
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
public class ReturningPolicy extends java.lang.Object implements java.io.Serializable, java.lang.Cloneable
Purpose: Allows for INSERT or UPDATE operations to return values back into the object being written. This allows for table default values, trigger or stored procedures computed values to be set back into the object. This can be used with generated SQL on the Oracle platform using the RETURNING clause, or through stored procedures on other platforms.
- Since:
- TopLink 10.1.3
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ReturningPolicy.Info
INTERNAL:
-
Constructor Summary
Constructors Constructor Description ReturningPolicy()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addFieldForInsert(java.lang.String qualifiedName)
PUBLIC: Define that the field will be returned from an insert operation.void
addFieldForInsert(java.lang.String qualifiedName, java.lang.Class type)
PUBLIC: Define that the field will be returned from an insert operation.void
addFieldForInsert(org.eclipse.persistence.internal.helper.DatabaseField field)
PUBLIC: Define that the field will be returned from an insert operation.void
addFieldForInsertReturnOnly(java.lang.String qualifiedName)
PUBLIC: Define that the field will be returned from an insert operation.void
addFieldForInsertReturnOnly(java.lang.String qualifiedName, java.lang.Class type)
PUBLIC: Define that the field will be returned from an insert operation.void
addFieldForInsertReturnOnly(org.eclipse.persistence.internal.helper.DatabaseField field)
PUBLIC: Define that the field will be returned from an insert operation.void
addFieldForUpdate(java.lang.String qualifiedName)
PUBLIC: Define that the field will be returned from an update operation.void
addFieldForUpdate(java.lang.String qualifiedName, java.lang.Class type)
PUBLIC: Define that the field will be returned from an update operation.void
addFieldForUpdate(org.eclipse.persistence.internal.helper.DatabaseField field)
PUBLIC: Define that the field will be returned from an update operation.static boolean
areCollectionsEqualAsSets(java.util.Collection col1, java.util.Collection col2)
INTERNAL: Compares two Collections as sets (ignoring the order of the elements).java.lang.Object
clone()
INTERNAL: Normally cloned when not yet initialized.ClassDescriptor
getDescriptor()
PUBLIC: Return the owner of the policy.org.eclipse.persistence.internal.helper.DatabaseField
getField(org.eclipse.persistence.internal.helper.DatabaseField field)
INTERNAL: Returns an equal field held by ReturningPolicy, or null.java.util.List<ReturningPolicy.Info>
getFieldInfos()
INTERNAL:java.util.Vector
getFieldsToGenerateInsert(org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:java.util.Vector
getFieldsToGenerateUpdate(org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:java.util.Collection<org.eclipse.persistence.internal.helper.DatabaseField>
getFieldsToMergeInsert()
INTERNAL:java.util.Collection<org.eclipse.persistence.internal.helper.DatabaseField>
getFieldsToMergeUpdate()
INTERNAL:boolean
hasEqualFieldInfos(java.util.List<ReturningPolicy.Info> infosToCompare)
INTERNAL: Used for testing onlyboolean
hasEqualFieldInfos(ReturningPolicy returningPolicyToCompare)
INTERNAL: Used for testing onlyboolean
hasEqualMains(ReturningPolicy policy)
INTERNAL: Both ReturningPolicies should be initializedvoid
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:boolean
isUsedToSetPrimaryKey()
PUBLIC:void
setDescriptor(ClassDescriptor descriptor)
INTERNAL:void
setFieldInfos(java.util.List<ReturningPolicy.Info> infos)
INTERNAL:void
trimModifyRowForInsert(org.eclipse.persistence.internal.sessions.AbstractRecord modifyRow)
INTERNAL:void
validationAfterDescriptorInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
-
-
-
Method Detail
-
getDescriptor
public ClassDescriptor getDescriptor()
PUBLIC: Return the owner of the policy.
-
getFieldsToGenerateInsert
public java.util.Vector getFieldsToGenerateInsert(org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:
-
getFieldsToGenerateUpdate
public java.util.Vector getFieldsToGenerateUpdate(org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:
-
getFieldInfos
public java.util.List<ReturningPolicy.Info> getFieldInfos()
INTERNAL:
-
setFieldInfos
public void setFieldInfos(java.util.List<ReturningPolicy.Info> infos)
INTERNAL:
-
hasEqualFieldInfos
public boolean hasEqualFieldInfos(ReturningPolicy returningPolicyToCompare)
INTERNAL: Used for testing only
-
hasEqualFieldInfos
public boolean hasEqualFieldInfos(java.util.List<ReturningPolicy.Info> infosToCompare)
INTERNAL: Used for testing only
-
areCollectionsEqualAsSets
public static boolean areCollectionsEqualAsSets(java.util.Collection col1, java.util.Collection col2)
INTERNAL: Compares two Collections as sets (ignoring the order of the elements). Note that the passed Collections are cloned. Used for testing only.
-
getFieldsToMergeInsert
public java.util.Collection<org.eclipse.persistence.internal.helper.DatabaseField> getFieldsToMergeInsert()
INTERNAL:
-
getFieldsToMergeUpdate
public java.util.Collection<org.eclipse.persistence.internal.helper.DatabaseField> getFieldsToMergeUpdate()
INTERNAL:
-
clone
public java.lang.Object clone()
INTERNAL: Normally cloned when not yet initialized. If initialized ReturningPolicy cloned then the clone should be re-initialized.
-
setDescriptor
public void setDescriptor(ClassDescriptor descriptor)
INTERNAL:
-
addFieldForInsert
public void addFieldForInsert(java.lang.String qualifiedName)
PUBLIC: Define that the field will be returned from an insert operation.
-
addFieldForInsert
public void addFieldForInsert(java.lang.String qualifiedName, java.lang.Class type)
PUBLIC: Define that the field will be returned from an insert operation. The type may be required to bind the output parameter if not known by the mapping.
-
addFieldForInsert
public void addFieldForInsert(org.eclipse.persistence.internal.helper.DatabaseField field)
PUBLIC: Define that the field will be returned from an insert operation.
-
addFieldForInsertReturnOnly
public void addFieldForInsertReturnOnly(java.lang.String qualifiedName)
PUBLIC: Define that the field will be returned from an insert operation. A field added with addFieldForInsertReturnOnly method is excluded from INSERT clause during SQL generation.
-
addFieldForInsertReturnOnly
public void addFieldForInsertReturnOnly(java.lang.String qualifiedName, java.lang.Class type)
PUBLIC: Define that the field will be returned from an insert operation. A field added with addFieldForInsertReturnOnly method is excluded from INSERT clause during SQL generation. The type may be required to bind the output parameter if not known by the mapping.
-
addFieldForInsertReturnOnly
public void addFieldForInsertReturnOnly(org.eclipse.persistence.internal.helper.DatabaseField field)
PUBLIC: Define that the field will be returned from an insert operation. A field added with addFieldForInsertReturnOnly method is excluded from INSERT clause during SQL generation.
-
addFieldForUpdate
public void addFieldForUpdate(java.lang.String qualifiedName)
PUBLIC: Define that the field will be returned from an update operation.
-
addFieldForUpdate
public void addFieldForUpdate(java.lang.String qualifiedName, java.lang.Class type)
PUBLIC: Define that the field will be returned from an update operation. The type may be required to bind the output parameter if not known by the mapping.
-
addFieldForUpdate
public void addFieldForUpdate(org.eclipse.persistence.internal.helper.DatabaseField field)
PUBLIC: Define that the field will be returned from an update operation.
-
initialize
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
-
hasEqualMains
public boolean hasEqualMains(ReturningPolicy policy)
INTERNAL: Both ReturningPolicies should be initialized
-
trimModifyRowForInsert
public void trimModifyRowForInsert(org.eclipse.persistence.internal.sessions.AbstractRecord modifyRow)
INTERNAL:
-
isUsedToSetPrimaryKey
public boolean isUsedToSetPrimaryKey()
PUBLIC:
-
validationAfterDescriptorInitialization
public void validationAfterDescriptorInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
-
getField
public org.eclipse.persistence.internal.helper.DatabaseField getField(org.eclipse.persistence.internal.helper.DatabaseField field)
INTERNAL: Returns an equal field held by ReturningPolicy, or null.
-
-