Package org.apache.cayenne.util

## Class ObjectContextGraphAction

- java.lang.Object
- - org.apache.cayenne.util.ObjectContextGraphAction

- All Implemented Interfaces:
    `Serializable`

      public class ObjectContextGraphAction
      extends Object
      implements Serializable

  A base implementation of a helper class to handle `ObjectContext.propertyChanged(org.apache.cayenne.Persistent, String, Object, Object)` processing on behalf of an ObjectContext.
  Since:
    3.0 TODO: make this non-public!
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ObjectContext` | `context` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ObjectContextGraphAction​(ObjectContext context)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `handleArcPropertyChange​(Persistent object, ArcProperty property, Object oldValue, Object newValue)` |
    `void` | `handlePropertyChange​(Persistent object, String propertyName, Object oldValue, Object newValue)` | Handles property change in a Persistent object, routing to either `handleArcPropertyChange(Persistent, ArcProperty, Object, Object)` or `handleSimplePropertyChange(Persistent, String, Object, Object)`.
    `protected void` | `handleSimplePropertyChange​(Persistent object, String propertyName, Object oldValue, Object newValue)` |
    `protected boolean` | `markAsDirty​(Persistent object)` | Changes object state to MODIFIED if needed, returning true if the change has occurred, false if not.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### context

          protected ObjectContext context

  - ### Constructor Detail

    - #### ObjectContextGraphAction

          public ObjectContextGraphAction​(ObjectContext context)

  - ### Method Detail

    - #### handlePropertyChange

          public void handlePropertyChange​(Persistent object,
                                           String propertyName,
                                           Object oldValue,
                                           Object newValue)

      Handles property change in a Persistent object, routing to either `handleArcPropertyChange(Persistent, ArcProperty, Object, Object)` or `handleSimplePropertyChange(Persistent, String, Object, Object)`.

    - #### handleArcPropertyChange

          protected void handleArcPropertyChange​(Persistent object,
                                                 ArcProperty property,
                                                 Object oldValue,
                                                 Object newValue)

    - #### handleSimplePropertyChange

          protected void handleSimplePropertyChange​(Persistent object,
                                                    String propertyName,
                                                    Object oldValue,
                                                    Object newValue)

    - #### markAsDirty

          protected boolean markAsDirty​(Persistent object)

      Changes object state to MODIFIED if needed, returning true if the change has occurred, false if not.