ObjectContextGraphAction (cayenne-doc: Cayenne Documentation 5.0-M2 API)
Description: declaration: package: org.apache.cayenne.util, class: ObjectContextGraphAction

# 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

  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 Object

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

- ## Field Details

  - ### context

    protected ObjectContext context

- ## Constructor Details

  - ### ObjectContextGraphAction

    public ObjectContextGraphAction(ObjectContext context)

- ## Method Details

  - ### 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.