## Uses of Class
org.apache.cayenne.query.PrefetchTreeNode

- Packages that use PrefetchTreeNode
  Package | Description
  --- | ---
  org.apache.cayenne.ejbql |
  org.apache.cayenne.exp | Cayenne data expression classes.
  org.apache.cayenne.query | Defines standard queries supported by Cayenne and extension mechanism to create custom queries.
  org.apache.cayenne.util | General utility classes.

- - ### Uses of PrefetchTreeNode in org.apache.cayenne.ejbql

    Methods in org.apache.cayenne.ejbql that return PrefetchTreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `PrefetchTreeNode` | EJBQLCompiledExpression.`getPrefetchTree()` | Returns prefetched columns tree for fetch joins.

  - ### Uses of PrefetchTreeNode in org.apache.cayenne.exp

    Methods in org.apache.cayenne.exp that return PrefetchTreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `PrefetchTreeNode` | Property.`disjoint()` | Returns a prefetch tree that follows this property path, potentially spanning a number of phantom nodes, and having a single leaf with "disjoint" prefetch semantics.
    `PrefetchTreeNode` | Property.`disjointById()` | Returns a prefetch tree that follows this property path, potentially spanning a number of phantom nodes, and having a single leaf with "disjoint by id" prefetch semantics.
    `PrefetchTreeNode` | Property.`joint()` | Returns a prefetch tree that follows this property path, potentially spanning a number of phantom nodes, and having a single leaf with "joint" prefetch semantics.

  - ### Uses of PrefetchTreeNode in org.apache.cayenne.query

    Fields in org.apache.cayenne.query declared as PrefetchTreeNode
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected PrefetchTreeNode` | PrefetchTreeNode.`parent` |
    `protected PrefetchTreeNode` | FluentSelect.`prefetches` |
    `protected PrefetchTreeNode` | SQLSelect.`prefetches` |

    Fields in org.apache.cayenne.query with type parameters of type PrefetchTreeNode
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Collection<PrefetchTreeNode>` | PrefetchTreeNode.`children` |

    Methods in org.apache.cayenne.query that return PrefetchTreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `PrefetchTreeNode` | PrefetchTreeNode.`addPath​(String path)` | Adds a "path" with specified semantics to this prefetch node.
    `PrefetchTreeNode` | ProcedureQuery.`addPrefetch​(String prefetchPath)` | Adds a prefetch.
    `PrefetchTreeNode` | SelectQuery.`addPrefetch​(String prefetchPath)` | Adds a prefetch with specified relationship path to the query.
    `PrefetchTreeNode` | SQLTemplate.`addPrefetch​(String prefetchPath)` | Adds a prefetch.
    `PrefetchTreeNode` | PrefetchTreeNode.`cloneJointSubtree()` | Returns a clone of subtree that includes all joint children starting from this node itself and till the first occurrence of non-joint node
    `protected PrefetchTreeNode` | PrefetchTreeNode.`getChild​(String segment)` |
    `PrefetchTreeNode` | PrefetchTreeNode.`getNode​(String path)` | Looks up an existing node in the tree desribed by the dot-separated path.
    `PrefetchTreeNode` | PrefetchTreeNode.`getParent()` |
    `PrefetchTreeNode` | FluentSelect.`getPrefetches()` |
    `PrefetchTreeNode` | SelectById.`getPrefetches()` |
    `PrefetchTreeNode` | ProcedureQuery.`getPrefetchTree()` |
    `PrefetchTreeNode` | QueryMetadata.`getPrefetchTree()` | Returns a root node of prefetch tree used by this query, or null of no prefetches are configured.
    `PrefetchTreeNode` | QueryMetadataProxy.`getPrefetchTree()` |
    `PrefetchTreeNode` | SelectQuery.`getPrefetchTree()` |
    `PrefetchTreeNode` | SQLTemplate.`getPrefetchTree()` |
    `PrefetchTreeNode` | PrefetchTreeNode.`getRoot()` | Returns the root of the node tree.
    `static PrefetchTreeNode` | PrefetchTreeNode.`withPath​(String path, int semantics)` | Creates and returns a prefetch tree spanning a single path.

    Methods in org.apache.cayenne.query that return types with arguments of type PrefetchTreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `Collection<PrefetchTreeNode>` | PrefetchTreeNode.`adjacentJointNodes()` | Returns a subset of nodes with "joint" semantics that are to be prefetched in the same query as the current node.
    `Collection<PrefetchTreeNode>` | PrefetchTreeNode.`disjointByIdNodes()` | Returns a collection of PrefetchTreeNodes with disjoint semantics
    `Collection<PrefetchTreeNode>` | PrefetchTreeNode.`disjointNodes()` | Returns a collection of PrefetchTreeNodes with disjoint semantics.
    `Collection<PrefetchTreeNode>` | PrefetchTreeNode.`getChildren()` | Returns an unmodifiable collection of children.
    `Collection<PrefetchTreeNode>` | PrefetchTreeNode.`jointNodes()` | Returns a collection of PrefetchTreeNodes in this tree with joint semantics.
    `Collection<PrefetchTreeNode>` | PrefetchTreeNode.`nonPhantomNodes()` | Returns a collection of PrefetchTreeNodes that are not phantoms.

    Methods in org.apache.cayenne.query with parameters of type PrefetchTreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | PrefetchTreeNode.`addChild​(PrefetchTreeNode child)` |
    `void` | SelectQuery.`addPrefetch​(PrefetchTreeNode prefetchElement)` | Adds a prefetch with specified relationship path to the query.
    `SQLSelect<T>` | SQLSelect.`addPrefetch​(PrefetchTreeNode node)` | Merges a prefetch into the query prefetch tree.
    `void` | SQLTemplate.`addPrefetch​(PrefetchTreeNode prefetchElement)` | Adds a prefetch with specified relationship path to the query.
    `void` | PrefetchProcessor.`finishPrefetch​(PrefetchTreeNode node)` |
    `String` | PrefetchTreeNode.`getPath​(PrefetchTreeNode upTillParent)` |
    `void` | PrefetchTreeNode.`merge​(PrefetchTreeNode node)` | Merges `PrefetchTreeNode` into the current prefetch tree, cloning the nodes added to this tree.
    `ColumnSelect<T>` | ColumnSelect.`prefetch​(PrefetchTreeNode prefetch)` | Merges prefetch into the query prefetch tree.
    `ObjectSelect<T>` | ObjectSelect.`prefetch​(PrefetchTreeNode prefetch)` | Merges prefetch into the query prefetch tree.
    `SelectById<T>` | SelectById.`prefetch​(PrefetchTreeNode prefetch)` | Merges prefetch into the query prefetch tree.
    `void` | PrefetchTreeNode.`removeChild​(PrefetchTreeNode child)` |
    `void` | SelectQuery.`setPrefetchTree​(PrefetchTreeNode prefetchTree)` |
    `boolean` | PrefetchProcessor.`startDisjointByIdPrefetch​(PrefetchTreeNode prefetchTreeNode)` |
    `boolean` | PrefetchProcessor.`startDisjointPrefetch​(PrefetchTreeNode node)` |
    `boolean` | PrefetchProcessor.`startJointPrefetch​(PrefetchTreeNode node)` |
    `boolean` | PrefetchProcessor.`startPhantomPrefetch​(PrefetchTreeNode node)` |
    `boolean` | PrefetchProcessor.`startUnknownPrefetch​(PrefetchTreeNode node)` |

    Constructors in org.apache.cayenne.query with parameters of type PrefetchTreeNode
    Constructor | Description
    --- | ---
    `PrefetchTreeNode​(PrefetchTreeNode parent, String name)` | Creates a phantom PrefetchTreeNode, initializing it with parent node and a name of a relationship segment connecting this node with the parent.

  - ### Uses of PrefetchTreeNode in org.apache.cayenne.util

    Methods in org.apache.cayenne.util with parameters of type PrefetchTreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `Object` | ObjectDetachOperation.`detach​(Object object, ClassDescriptor descriptor, PrefetchTreeNode prefetchTree)` | "Detaches" an object from its context by creating an unattached copy.