Package org.apache.openjpa.kernel
Class InverseManager
java.lang.Object
org.apache.openjpa.kernel.InverseManager
- All Implemented Interfaces:
Configurable
Class which manages inverse relations before flushing
to the datastore. Ensures that inverse fields are set.
Currently limited to managing PC and Collection-type relations.
- Author:
- Steve Kim
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected DataCacheManagerstatic final intConstant representing theACTION_EXCEPTIONactionstatic final intConstant representing theACTION_MANAGEactionstatic final intConstant representing theACTION_WARNactionprotected static final Object -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddToCollection(OpenJPAStateManager sm, FieldMetaData fmd, Object val) Add the given value to the collection at the selected field.protected voidclearInverseRelations(OpenJPAStateManager sm, Object val, FieldMetaData fmd, FieldMetaData[] inverses) Clear all inverse the relations fromvalto the instance managed bysm.protected voidclearInverseRelations(OpenJPAStateManager sm, FieldMetaData fmd, FieldMetaData[] inverses, Object newValue) Remove all relations between the initial value offmdfor the instance managed bysmand its inverses.voidcorrectRelations(OpenJPAStateManager sm, FieldMetaData fmd, Object value) Correct relations from the given dirty field to inverse instances.protected voidcreateInverseRelations(StoreContext ctx, Object fromRef, Object toRef, FieldMetaData fmd, FieldMetaData[] inverses) Create the inverse relations for all the given inverse fields.voidInvoked upon completion of bean property configuration for this object.intReturn the action constant to use during relationship checking.booleanReturn whether to manage LRS fields.protected voidremoveFromCollection(OpenJPAStateManager sm, FieldMetaData fmd, Object val) Remove the given instance from the collection.voidsetAction(int action) Set the action constant to use during relationship checking.voidSet the action string to use during relationship checking.voidInvoked prior to setting bean properties.voidsetManageLRS(boolean manage) Set whether to false LRS relations.voidInvoked before bean property configuration is begun on this object.protected voidstoreField(OpenJPAStateManager sm, FieldMetaData fmd, Object compare, Object val) Store a given value at the given field.protected voidstoreNull(OpenJPAStateManager sm, FieldMetaData fmd, Object compare) Store null value at the given field.protected voidThrow an inconsistency exceptionprotected voidLog an inconsistency warning
-
Field Details
-
NONE
-
_mgr
-
ACTION_MANAGE
public static final int ACTION_MANAGEConstant representing theACTION_MANAGEaction- See Also:
-
ACTION_WARN
public static final int ACTION_WARNConstant representing theACTION_WARNaction- See Also:
-
ACTION_EXCEPTION
public static final int ACTION_EXCEPTIONConstant representing theACTION_EXCEPTIONaction- See Also:
-
-
Constructor Details
-
InverseManager
public InverseManager()
-
-
Method Details
-
getManageLRS
public boolean getManageLRS()Return whether to manage LRS fields. -
setManageLRS
public void setManageLRS(boolean manage) Set whether to false LRS relations. Defaults to false. -
getAction
public int getAction()Return the action constant to use during relationship checking. Defaults toACTION_MANAGE. -
setAction
public void setAction(int action) Set the action constant to use during relationship checking. Defaults toACTION_MANAGE. -
setAction
Set the action string to use during relationship checking. Options includemanage, exception, warn. This method is primarily for string-based automated configuration. -
startConfiguration
public void startConfiguration()Description copied from interface:ConfigurableInvoked before bean property configuration is begun on this object.- Specified by:
startConfigurationin interfaceConfigurable
-
endConfiguration
public void endConfiguration()Description copied from interface:ConfigurableInvoked upon completion of bean property configuration for this object.- Specified by:
endConfigurationin interfaceConfigurable
-
setConfiguration
Description copied from interface:ConfigurableInvoked prior to setting bean properties.- Specified by:
setConfigurationin interfaceConfigurable
-
correctRelations
Correct relations from the given dirty field to inverse instances. Fieldfmdof the instance managed bysmhas valuevalue. Ensure that all inverses relations fromvalueare consistent with this. -
createInverseRelations
protected void createInverseRelations(StoreContext ctx, Object fromRef, Object toRef, FieldMetaData fmd, FieldMetaData[] inverses) Create the inverse relations for all the given inverse fields. A relation exists fromfromReftotoRef; this method creates the inverses. -
clearInverseRelations
protected void clearInverseRelations(OpenJPAStateManager sm, FieldMetaData fmd, FieldMetaData[] inverses, Object newValue) Remove all relations between the initial value offmdfor the instance managed bysmand its inverses. Relations shared withnewValuecan be left intact. -
clearInverseRelations
protected void clearInverseRelations(OpenJPAStateManager sm, Object val, FieldMetaData fmd, FieldMetaData[] inverses) Clear all inverse the relations fromvalto the instance managed bysm. -
storeNull
Store null value at the given field. Verify that the given compare value is the value being nulled. Pass NONE for no comparison. -
storeField
Store a given value at the given field. Compare the given argument if not NONE. -
removeFromCollection
Remove the given instance from the collection. -
addToCollection
Add the given value to the collection at the selected field. -
warnConsistency
Log an inconsistency warning -
throwException
Throw an inconsistency exception
-