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 Details

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