Package org.apache.cayenne.util

## Class ObjectDetachOperation

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

-     public class ObjectDetachOperation
      extends Object

  An operation that creates a subgraph of detached objects, using the PrefetchTree to delineate the graph boundaries. Target objects can be described by a different set of descriptors, thus allowing server-to-client conversion to happen in the process.
  Since:
    1.2

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Map<ObjectId,​Persistent>` | `seen` |
    `protected EntityResolver` | `targetResolver` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ObjectDetachOperation​(EntityResolver targetResolver)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Object` | `detach​(Object object, ClassDescriptor descriptor, PrefetchTreeNode prefetchTree)` | "Detaches" an object from its context by creating an unattached copy.
    `void` | `reset()` |

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

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

- - ### Field Detail

    - #### targetResolver

          protected EntityResolver targetResolver

    - #### seen

          protected Map<ObjectId,​Persistent> seen

  - ### Constructor Detail

    - #### ObjectDetachOperation

          public ObjectDetachOperation​(EntityResolver targetResolver)

  - ### Method Detail

    - #### reset

          public void reset()

    - #### detach

          public Object detach​(Object object,
                               ClassDescriptor descriptor,
                               PrefetchTreeNode prefetchTree)

      "Detaches" an object from its context by creating an unattached copy. The copy is created using target descriptor of this operation that may be different from the object descriptor passed to this method.