|
EclipseLink1.0 - 20080707 API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.descriptors.ReturningPolicy
public class ReturningPolicy
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.
Nested Class Summary | |
---|---|
static class |
ReturningPolicy.Info
INTERNAL: |
Field Summary | |
---|---|
protected static int |
ALL
|
protected ClassDescriptor |
descriptor
|
protected java.util.Map |
fieldsNotFromDescriptor_DefaultTable
|
protected java.util.Map |
fieldsNotFromDescriptor_OtherTables
|
protected java.util.Vector |
infos
|
protected static int |
INSERT
|
protected boolean |
isUsedToSetPrimaryKey
|
protected java.util.Collection[][] |
main
|
protected static int |
MAIN_SIZE
|
protected static int |
MAPPED
|
protected static int |
NUM_OPERATIONS
|
protected static int |
RETURN_ONLY
|
protected java.util.HashMap[] |
tableToVectorOfFieldsForGenerationMap
|
protected static int |
UNMAPPED
|
protected static int |
UPDATE
|
protected static int |
WRITE_RETURN
|
Constructor Summary | |
---|---|
ReturningPolicy()
|
Method Summary | |
---|---|
protected void |
addCollectionToMain(int operation,
int state,
java.util.Collection collection)
|
protected void |
addField(org.eclipse.persistence.internal.helper.DatabaseField field,
boolean isInsert,
boolean isInsertModeReturnOnly,
boolean isUpdate)
INTERNAL: |
void |
addFieldForInsert(org.eclipse.persistence.internal.helper.DatabaseField field)
PUBLIC: |
void |
addFieldForInsert(java.lang.String qualifiedName)
PUBLIC: |
void |
addFieldForInsert(java.lang.String qualifiedName,
java.lang.Class type)
PUBLIC: |
void |
addFieldForInsertReturnOnly(org.eclipse.persistence.internal.helper.DatabaseField field)
PUBLIC: |
void |
addFieldForInsertReturnOnly(java.lang.String qualifiedName)
PUBLIC: |
void |
addFieldForInsertReturnOnly(java.lang.String qualifiedName,
java.lang.Class type)
PUBLIC: |
void |
addFieldForUpdate(org.eclipse.persistence.internal.helper.DatabaseField field)
PUBLIC: |
void |
addFieldForUpdate(java.lang.String qualifiedName)
PUBLIC: |
void |
addFieldForUpdate(java.lang.String qualifiedName,
java.lang.Class type)
PUBLIC: |
protected void |
addFieldToMain(int operation,
int state,
org.eclipse.persistence.internal.helper.DatabaseField field)
|
protected void |
addMappedFieldToMain(org.eclipse.persistence.internal.helper.DatabaseField field,
ReturningPolicy.Info info)
|
protected void |
addUnmappedFieldToMain(org.eclipse.persistence.internal.helper.DatabaseField field,
ReturningPolicy.Info info)
|
static boolean |
areCollectionsEqualAsSets(java.util.Collection col1,
java.util.Collection col2)
INTERNAL: Compares two Collections as sets (ignoring the order of the elements). |
protected void |
clearInitialization()
|
java.lang.Object |
clone()
INTERNAL: |
protected void |
copyMainFrom(ReturningPolicy policy)
|
protected java.util.Collection |
createCollection()
INTERNAL: |
protected org.eclipse.persistence.internal.helper.DatabaseField |
createField(java.lang.String qualifiedName,
java.lang.Class type)
INTERNAL: |
protected void |
fieldIsNotFromDescriptor(org.eclipse.persistence.internal.helper.DatabaseField field)
INTERNAL: |
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.Vector |
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 |
getFieldsToMergeInsert()
INTERNAL: |
java.util.Collection |
getFieldsToMergeUpdate()
INTERNAL: |
protected java.util.Vector |
getVectorOfFieldsToGenerate(int operation,
org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL: |
boolean |
hasEqualFieldInfos(ReturningPolicy returningPolicyToCompare)
INTERNAL: Used for testing only |
boolean |
hasEqualFieldInfos(java.util.Vector infosToCompare)
INTERNAL: Used for testing only |
boolean |
hasEqualMains(ReturningPolicy policy)
INTERNAL: Both ReturningPolicies should be initialized |
void |
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: |
protected void |
initializeIsUsedToSetPrimaryKey()
|
protected static boolean |
isThereATypeConflict(org.eclipse.persistence.internal.helper.DatabaseField field1,
org.eclipse.persistence.internal.helper.DatabaseField field2)
INTERNAL: |
boolean |
isUsedToSetPrimaryKey()
PUBLIC: |
protected java.util.Hashtable |
removeDuplicateAndValidateInfos(org.eclipse.persistence.internal.sessions.AbstractSession session)
|
void |
setDescriptor(ClassDescriptor descriptor)
INTERNAL: |
void |
setFieldInfos(java.util.Vector infos)
INTERNAL: |
protected void |
trimModifyRow(org.eclipse.persistence.internal.sessions.AbstractRecord modifyRow,
int operation)
|
void |
trimModifyRowForInsert(org.eclipse.persistence.internal.sessions.AbstractRecord modifyRow)
INTERNAL: |
void |
validationAfterDescriptorInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: |
protected static boolean |
verifyField(org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.DatabaseField field,
ClassDescriptor descriptor)
|
protected boolean |
verifyFieldAndMapping(org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.DatabaseField field)
|
protected static boolean |
verifyFieldAndMapping(org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.DatabaseField field,
ClassDescriptor descriptor,
DatabaseMapping mapping)
|
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final int INSERT
protected static final int UPDATE
protected static final int NUM_OPERATIONS
protected static final int RETURN_ONLY
protected static final int WRITE_RETURN
protected static final int MAPPED
protected static final int UNMAPPED
protected static final int ALL
protected static final int MAIN_SIZE
protected ClassDescriptor descriptor
protected java.util.Vector infos
protected java.util.Collection[][] main
protected java.util.HashMap[] tableToVectorOfFieldsForGenerationMap
protected boolean isUsedToSetPrimaryKey
protected java.util.Map fieldsNotFromDescriptor_DefaultTable
protected java.util.Map fieldsNotFromDescriptor_OtherTables
Constructor Detail |
---|
public ReturningPolicy()
Method Detail |
---|
public ClassDescriptor getDescriptor()
protected void fieldIsNotFromDescriptor(org.eclipse.persistence.internal.helper.DatabaseField field)
public java.util.Vector getFieldsToGenerateInsert(org.eclipse.persistence.internal.helper.DatabaseTable table)
public java.util.Vector getFieldsToGenerateUpdate(org.eclipse.persistence.internal.helper.DatabaseTable table)
public java.util.Vector getFieldInfos()
public void setFieldInfos(java.util.Vector infos)
public boolean hasEqualFieldInfos(ReturningPolicy returningPolicyToCompare)
public boolean hasEqualFieldInfos(java.util.Vector infosToCompare)
public static boolean areCollectionsEqualAsSets(java.util.Collection col1, java.util.Collection col2)
protected java.util.Vector getVectorOfFieldsToGenerate(int operation, org.eclipse.persistence.internal.helper.DatabaseTable table)
public java.util.Collection getFieldsToMergeInsert()
public java.util.Collection getFieldsToMergeUpdate()
public java.lang.Object clone()
clone
in class java.lang.Object
public void setDescriptor(ClassDescriptor descriptor)
public void addFieldForInsert(java.lang.String qualifiedName)
public void addFieldForInsert(java.lang.String qualifiedName, java.lang.Class type)
public void addFieldForInsert(org.eclipse.persistence.internal.helper.DatabaseField field)
public void addFieldForInsertReturnOnly(java.lang.String qualifiedName)
public void addFieldForInsertReturnOnly(java.lang.String qualifiedName, java.lang.Class type)
public void addFieldForInsertReturnOnly(org.eclipse.persistence.internal.helper.DatabaseField field)
public void addFieldForUpdate(java.lang.String qualifiedName)
public void addFieldForUpdate(java.lang.String qualifiedName, java.lang.Class type)
public void addFieldForUpdate(org.eclipse.persistence.internal.helper.DatabaseField field)
protected void addField(org.eclipse.persistence.internal.helper.DatabaseField field, boolean isInsert, boolean isInsertModeReturnOnly, boolean isUpdate)
protected static boolean isThereATypeConflict(org.eclipse.persistence.internal.helper.DatabaseField field1, org.eclipse.persistence.internal.helper.DatabaseField field2)
protected org.eclipse.persistence.internal.helper.DatabaseField createField(java.lang.String qualifiedName, java.lang.Class type)
protected java.util.Collection createCollection()
protected void addFieldToMain(int operation, int state, org.eclipse.persistence.internal.helper.DatabaseField field)
protected void addCollectionToMain(int operation, int state, java.util.Collection collection)
protected void addMappedFieldToMain(org.eclipse.persistence.internal.helper.DatabaseField field, ReturningPolicy.Info info)
protected void addUnmappedFieldToMain(org.eclipse.persistence.internal.helper.DatabaseField field, ReturningPolicy.Info info)
protected java.util.Hashtable removeDuplicateAndValidateInfos(org.eclipse.persistence.internal.sessions.AbstractSession session)
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
protected void copyMainFrom(ReturningPolicy policy)
public boolean hasEqualMains(ReturningPolicy policy)
public void trimModifyRowForInsert(org.eclipse.persistence.internal.sessions.AbstractRecord modifyRow)
protected void trimModifyRow(org.eclipse.persistence.internal.sessions.AbstractRecord modifyRow, int operation)
public boolean isUsedToSetPrimaryKey()
protected void clearInitialization()
protected void initializeIsUsedToSetPrimaryKey()
protected boolean verifyFieldAndMapping(org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.helper.DatabaseField field)
protected static boolean verifyFieldAndMapping(org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.helper.DatabaseField field, ClassDescriptor descriptor, DatabaseMapping mapping)
protected static boolean verifyField(org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.helper.DatabaseField field, ClassDescriptor descriptor)
public void validationAfterDescriptorInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
public org.eclipse.persistence.internal.helper.DatabaseField getField(org.eclipse.persistence.internal.helper.DatabaseField field)
|
EclipseLink1.0 - 20080707 API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |