Package org.apache.cayenne.map

## Class EntityInheritanceTree

- java.lang.Object
- - org.apache.cayenne.map.EntityInheritanceTree

-     public class EntityInheritanceTree
      extends Object

  A tree structure representing inheritance hierarchy of an ObjEntity and its subentities.
  Since:
    1.1

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected ObjEntity` | `entity` |
    `protected Expression` | `normalizedQualifier` |
    `protected EntityInheritanceTree` | `parent` |
    `protected Collection<EntityInheritanceTree>` | `subentities` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EntityInheritanceTree​(ObjEntity entity)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addChildNode​(EntityInheritanceTree node)` |
    `Collection<ObjAttribute>` | `allAttributes()` |
    `Collection<ObjRelationship>` | `allRelationships()` |
    `Collection<ObjEntity>` | `allSubEntities()` | Returns a collection containing this inheritance tree node entity and all its subentities.
    `protected void` | `appendDeclaredAttributes​(Collection<ObjAttribute> c)` |
    `protected void` | `appendDeclaredRelationships​(Collection<ObjRelationship> c)` |
    `ObjEntity` | `entityMatchingRow​(DataRow row)` | Returns the deepest possible entity in the inheritance hierarchy that can be used to create objects from a given DataRow.
    `Collection<EntityInheritanceTree>` | `getChildren()` |
    `int` | `getChildrenCount()` |
    `Expression` | `getDbQualifier()` | Returns entity qualifier expressed as DB path qualifier or null if entity has no qualifier.
    `ObjEntity` | `getEntity()` |
    `Expression` | `qualifierForEntityAndSubclasses()` | Returns a qualifier Expression that matches root entity of this tree and all its subentities.

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

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

- - ### Field Detail

    - #### entity

          protected final ObjEntity entity

    - #### parent

          protected EntityInheritanceTree parent

    - #### subentities

          protected Collection<EntityInheritanceTree> subentities

    - #### normalizedQualifier

          protected Expression normalizedQualifier

  - ### Constructor Detail

    - #### EntityInheritanceTree

          public EntityInheritanceTree​(ObjEntity entity)

  - ### Method Detail

    - #### qualifierForEntityAndSubclasses

          public Expression qualifierForEntityAndSubclasses()

      Returns a qualifier Expression that matches root entity of this tree and all its subentities.

    - #### entityMatchingRow

          public ObjEntity entityMatchingRow​(DataRow row)

      Returns the deepest possible entity in the inheritance hierarchy that can be used to create objects from a given DataRow.

    - #### getDbQualifier

          public Expression getDbQualifier()

      Returns entity qualifier expressed as DB path qualifier or null if entity has no qualifier.
      Since:
        3.0

    - #### addChildNode

          public void addChildNode​(EntityInheritanceTree node)

    - #### getChildrenCount

          public int getChildrenCount()

    - #### getChildren

          public Collection<EntityInheritanceTree> getChildren()

    - #### getEntity

          public ObjEntity getEntity()

    - #### allSubEntities

          public Collection<ObjEntity> allSubEntities()

      Returns a collection containing this inheritance tree node entity and all its subentities.
      Since:
        3.0

    - #### allAttributes

          public Collection<ObjAttribute> allAttributes()

    - #### allRelationships

          public Collection<ObjRelationship> allRelationships()

    - #### appendDeclaredAttributes

          protected void appendDeclaredAttributes​(Collection<ObjAttribute> c)

    - #### appendDeclaredRelationships

          protected void appendDeclaredRelationships​(Collection<ObjRelationship> c)