Interface SubGraph<J>

All Superinterfaces:
Graph<J>, GraphNode<J>, Subgraph<J>
All Known Subinterfaces:
SubGraphImplementor<J>
All Known Implementing Classes:
SubGraphImpl

public interface SubGraph<J> extends Graph<J>, Subgraph<J>
Extends the JPA-defined Subgraph with additional operations.
Author:
Steve Ebersole, Andrea Boriero
See Also:
  • Method Details

    • getAttributeNodes

      default List<AttributeNode<?>> getAttributeNodes()
      Description copied from interface: Subgraph
      Return the attribute nodes corresponding to the attributes of this managed type that are included in the subgraph.
      Specified by:
      getAttributeNodes in interface Subgraph<J>
      Returns:
      list of attribute nodes included in the subgraph or empty List if none have been defined
    • addAttributeNodes

      default void addAttributeNodes(String... names)
      Description copied from interface: Subgraph
      Add one or more attribute nodes to the entity graph.
      Specified by:
      addAttributeNodes in interface Subgraph<J>
      Parameters:
      names - name of the attribute
    • addAttributeNodes

      default void addAttributeNodes(Attribute<J,?>... attribute)
      Description copied from interface: Subgraph
      Add one or more attribute nodes to the entity graph.
      Specified by:
      addAttributeNodes in interface Subgraph<J>
      Parameters:
      attribute - attribute
    • addSubgraph

      default <X> SubGraph<X> addSubgraph(Attribute<J,X> attribute)
      Description copied from interface: Subgraph
      Add a node to the graph that corresponds to a managed type. This allows for construction of multi-node entity graphs that include related managed types.
      Specified by:
      addSubgraph in interface Subgraph<J>
      Parameters:
      attribute - attribute
      Returns:
      subgraph for the attribute
    • addSubgraph

      default <X> SubGraph<? extends X> addSubgraph(Attribute<J,X> attribute, Class<? extends X> type)
      Description copied from interface: Subgraph
      Add a node to the graph that corresponds to a managed type with inheritance. This allows for multiple subclass subgraphs to be defined for this node of the entity graph. Subclass subgraphs will automatically include the specified attributes of superclass subgraphs
      Specified by:
      addSubgraph in interface Subgraph<J>
      Parameters:
      attribute - attribute
      type - entity subclass
      Returns:
      subgraph for the attribute
    • addSubgraph

      default <X> SubGraph<X> addSubgraph(String name)
      Description copied from interface: Subgraph
      Add a node to the graph that corresponds to a managed type. This allows for construction of multi-node entity graphs that include related managed types.
      Specified by:
      addSubgraph in interface Subgraph<J>
      Parameters:
      name - name of the attribute
      Returns:
      subgraph for the attribute
    • addSubgraph

      default <X> SubGraph<X> addSubgraph(String name, Class<X> type)
      Description copied from interface: Subgraph
      Add a node to the graph that corresponds to a managed type with inheritance. This allows for multiple subclass subgraphs to be defined for this node of the entity graph. Subclass subgraphs will automatically include the specified attributes of superclass subgraphs
      Specified by:
      addSubgraph in interface Subgraph<J>
      Parameters:
      name - name of the attribute
      type - entity subclass
      Returns:
      subgraph for the attribute
    • addKeySubgraph

      default <X> SubGraph<X> addKeySubgraph(Attribute<J,X> attribute)
      Description copied from interface: Subgraph
      Add a node to the graph that corresponds to a map key that is a managed type. This allows for construction of multinode entity graphs that include related managed types.
      Specified by:
      addKeySubgraph in interface Subgraph<J>
      Parameters:
      attribute - attribute
      Returns:
      subgraph for the key attribute
    • addKeySubgraph

      default <X> SubGraph<? extends X> addKeySubgraph(Attribute<J,X> attribute, Class<? extends X> type)
      Description copied from interface: Subgraph
      Add a node to the graph that corresponds to a map key that is a managed type with inheritance. This allows for construction of multi-node entity graphs that include related managed types. Subclass subgraphs will automatically include the specified attributes of superclass subgraphs
      Specified by:
      addKeySubgraph in interface Subgraph<J>
      Parameters:
      attribute - attribute
      type - entity subclass
      Returns:
      subgraph for the attribute
    • addKeySubgraph

      default <X> SubGraph<X> addKeySubgraph(String name)
      Description copied from interface: Subgraph
      Add a node to the graph that corresponds to a map key that is a managed type. This allows for construction of multi-node entity graphs that include related managed types.
      Specified by:
      addKeySubgraph in interface Subgraph<J>
      Parameters:
      name - name of the attribute
      Returns:
      subgraph for the key attribute
    • addKeySubgraph

      default <X> SubGraph<X> addKeySubgraph(String name, Class<X> type)
      Description copied from interface: Subgraph
      Add a node to the graph that corresponds to a map key that is a managed type with inheritance. This allows for construction of multi-node entity graphs that include related managed types. Subclass subgraphs will include the specified attributes of superclass subgraphs
      Specified by:
      addKeySubgraph in interface Subgraph<J>
      Parameters:
      name - name of the attribute
      type - entity subclass
      Returns:
      subgraph for the attribute
    • getClassType

      default Class<J> getClassType()
      Description copied from interface: Subgraph
      Return the type for which this subgraph was defined.
      Specified by:
      getClassType in interface Subgraph<J>
      Returns:
      managed type referenced by the subgraph