Class InverseManager

java.lang.Object
org.apache.openjpa.kernel.InverseManager
All Implemented Interfaces:
Configurable

public class InverseManager extends Object implements 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 Details

  • 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 to ACTION_MANAGE.
    • setAction

      public void setAction(int action)
      Set the action constant to use during relationship checking. Defaults to ACTION_MANAGE.
    • setAction

      public void setAction(String action)
      Set the action string to use during relationship checking. Options include manage, exception, warn. This method is primarily for string-based automated configuration.
    • startConfiguration

      public void startConfiguration()
      Description copied from interface: Configurable
      Invoked before bean property configuration is begun on this object.
      Specified by:
      startConfiguration in interface Configurable
    • endConfiguration

      public void endConfiguration()
      Description copied from interface: Configurable
      Invoked upon completion of bean property configuration for this object.
      Specified by:
      endConfiguration in interface Configurable
    • setConfiguration

      public void setConfiguration(Configuration conf)
      Description copied from interface: Configurable
      Invoked prior to setting bean properties.
      Specified by:
      setConfiguration in interface Configurable
    • correctRelations

      public void correctRelations(OpenJPAStateManager sm, FieldMetaData fmd, Object value)
      Correct relations from the given dirty field to inverse instances. Field fmd of the instance managed by sm has value value. Ensure that all inverses relations from value are 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 from fromRef to toRef; this method creates the inverses.
    • clearInverseRelations

      protected void clearInverseRelations(OpenJPAStateManager sm, FieldMetaData fmd, FieldMetaData[] inverses, Object newValue)
      Remove all relations between the initial value of fmd for the instance managed by sm and its inverses. Relations shared with newValue can be left intact.
    • clearInverseRelations

      protected void clearInverseRelations(OpenJPAStateManager sm, Object val, FieldMetaData fmd, FieldMetaData[] inverses)
      Clear all inverse the relations from val to the instance managed by sm.
    • storeNull

      protected void storeNull(OpenJPAStateManager sm, FieldMetaData fmd, Object compare)
      Store null value at the given field. Verify that the given compare value is the value being nulled. Pass NONE for no comparison.
    • storeField

      protected void storeField(OpenJPAStateManager sm, FieldMetaData fmd, Object compare, Object val)
      Store a given value at the given field. Compare the given argument if not NONE.
    • removeFromCollection

      protected void removeFromCollection(OpenJPAStateManager sm, FieldMetaData fmd, Object val)
      Remove the given instance from the collection.
    • addToCollection

      protected void addToCollection(OpenJPAStateManager sm, FieldMetaData fmd, Object val)
      Add the given value to the collection at the selected field.
    • warnConsistency

      protected void warnConsistency(OpenJPAStateManager sm, FieldMetaData fmd)
      Log an inconsistency warning
    • throwException

      protected void throwException(OpenJPAStateManager sm, FieldMetaData fmd)
      Throw an inconsistency exception