Interface Subgraph

  • All Superinterfaces:
    AttributeNode

    public interface Subgraph
    extends AttributeNode
    This type represents a AttributeNode of an EntityGraph that corresponds to a Managed Type. Using this class an entity graph can be embedded within an EntityGraph.
    • Method Detail

      • addAttributeNodes

        void addAttributeNodes​(String... attributeName)
        Add an AttributeNode attribute to the entity graph.
        Throws:
        IllegalArgumentException - if the attribute is not an attribute of this managed type.
        IllegalStateException - if this EntityGraph has been statically defined
      • addSubgraph

        Subgraph addSubgraph​(String attribute)
        Used to add a node of the graph that corresponds to a managed type. This allows for construction of multi-node Entity graphs that include related managed types.
        Throws:
        IllegalArgumentException - if the attribute is not an attribute of this managed type.
        IllegalArgumentException - if the attribute's target type is not a managed type
        IllegalStateException - if this EntityGraph has been statically defined
      • addSubgraph

        Subgraph addSubgraph​(String attribute,
                             Class type)
        Used to add a node of the graph that corresponds to a managed type with inheritance. This allows for multiple subclass sub-graphs to be defined for this node of the entity graph. Subclass sub-graphs will include the specified attributes of superclass sub-graphs
        Throws:
        IllegalArgumentException - if the attribute is not an attribute of this managed type.
        IllegalArgumentException - if the attribute's target type is not a managed type
        IllegalStateException - if this EntityGraph has been statically defined
      • getAttributeNodes

        List<AttributeNode> getAttributeNodes()
        returns the attributes of this managed type that are included in the sub-graph
      • getClassType

        Class getClassType()
        returns the type of this sub-graph if it was used to extend a superclass sub-graph definition.