Subgraph
- Type Parameters:
<T>
- The type of the attribute.
- Super Interfaces:
Graph<T>
This type represents a subgraph for an attribute node that corresponds to a managed type. Using this class, an entity subgraph can be embedded within an EntityGraph.
- Since:
- JPA 2.1
Public Methods
- Parameters:
attribute
- attribute
- Return:
- the attribute node
- Throws:
- IllegalStateException - if the EntityGraph has been statically defined
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
- Parameters:
attributeName
- name of the attribute
- Return:
- the attribute node
- Throws:
- IllegalArgumentException - if the attribute is not an attribute of this entity.
- IllegalStateException - if the EntityGraph has been statically defined
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
void addAttributeNodes(Attribute<?superT,?>... attribute)
If there is already an existing node for one of the given attributes, that particular argument is ignored and has no effect.
- Parameters:
attribute
- attribute
- Throws:
- IllegalStateException - if this EntityGraph has been statically defined
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
void addAttributeNodes(String... attributeName)
If there is already an existing node for one of the given attribute names, that particular argument is ignored and has no effect.
- Parameters:
attributeName
- name of the attribute
- Throws:
- IllegalArgumentException - if the attribute is not an attribute of this managed type.
- IllegalStateException - if the EntityGraph has been statically defined
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
This allows for construction of multi-node entity graphs that include related managed types.
- Parameters:
attribute
- attribute
- Return:
- subgraph for the element attribute
- Throws:
- IllegalArgumentException - if the attribute's target type is not an entity
- IllegalStateException - if this EntityGraph has been statically defined
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
This allows for construction of multi-node entity graphs that include related managed types.
- Parameters:
attributeName
- name of the attribute
- Return:
- subgraph for the element attribute
- Throws:
- IllegalArgumentException - if the attribute is not an attribute of this entity.
- IllegalArgumentException - if the attribute's target type is not a managed type
- IllegalStateException - if this EntityGraph has been statically defined
- IllegalArgumentException - if the attribute's target type is not a managed type
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
This allows for construction of multi-node entity graphs that include related managed types.
- Parameters:
attributeName
- name of the attributetype
- entity subclass
- Return:
- subgraph for the element attribute
- Throws:
- IllegalArgumentException - if the attribute is not an attribute of this entity.
- IllegalArgumentException - if the attribute's target type is not a managed type
- IllegalStateException - if this EntityGraph has been statically defined
- IllegalArgumentException - if the attribute's target type is not a managed type
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
This allows for construction of multi-node entity graphs that include related managed types.
- Parameters:
attributeName
- name of the attribute
- Return:
- subgraph for the key attribute
- Throws:
- IllegalArgumentException - if the attribute is not an attribute of this entity.
- IllegalArgumentException - if the attribute's target type is not a managed type
- IllegalStateException - if this EntityGraph has been statically defined
- IllegalArgumentException - if the attribute's target type is not a managed type
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
This allows for construction of multi-node entity graphs that include related managed types. Subclass subgraphs will include the specified attributes of superclass subgraphs
- Parameters:
attributeName
- name of the attributetype
- entity subclass
- Return:
- subgraph for the attribute
- Throws:
- IllegalArgumentException - if the attribute is not an attribute of this entity.
- IllegalArgumentException - if the attribute's target type is not a managed type
- IllegalStateException - if this EntityGraph has been statically defined
- IllegalArgumentException - if the attribute's target type is not a managed type
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
This allows for construction of multi-node entity graphs that include related managed types.
- Parameters:
attribute
- attribute
- Return:
- subgraph for the key attribute
- Throws:
- IllegalArgumentException - if the attribute's target type is not a managed type entity
- IllegalStateException - if this EntityGraph has been statically defined
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
This allows for construction of multi-node entity graphs that include related managed types.
- Parameters:
attribute
- attribute
- Return:
- subgraph for the attribute
- Throws:
- IllegalArgumentException - if the attribute's target type is not a managed type
- IllegalStateException - if the EntityGraph has been statically defined
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
This allows for construction of multi-node entity graphs that include related managed types.
- Parameters:
attributeName
- name of the attribute
- Return:
- subgraph for the attribute
- 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
- IllegalArgumentException - if the attribute's target type is not a managed type
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
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
- Parameters:
attributeName
- name of the attributetype
- entity subclass
- Return:
- subgraph for the attribute
- 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
- IllegalArgumentException - if the attribute's target type is not a managed type
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
This allows for construction of multi-node entity graphs that include related managed types.
- Parameters:
attribute
- attribute
- Return:
- subgraph for the element attribute
- Throws:
- IllegalArgumentException - if the attribute's target type is not an entity
- IllegalStateException - if this EntityGraph has been statically defined
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
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
- Parameters:
attribute
- attributetype
- entity subclass
- Return:
- subgraph for the attribute
- Throws:
- IllegalArgumentException - if the attribute's target type is not a managed type entity
- IllegalStateException - if this EntityGraph has been statically defined
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
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.
- Parameters:
attribute
- attributetype
- entity subclass
- Return:
- subgraph for the attribute
- Throws:
- IllegalArgumentException - if the attribute's target type is not a managed type
- IllegalStateException - if the EntityGraph has been statically defined
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
- Parameters:
attribute
- attribute
- Return:
- the attribute node
- Throws:
- java.util.NoSuchElementException - if there is no existing node for the attribute
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
- Parameters:
attributeName
- name of the attribute
- Return:
- the attribute node
- Throws:
- IllegalArgumentException - if the attribute is not an attribute of this entity.
- java.util.NoSuchElementException - if there is no existing node for the attribute
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
- Return:
- list of attribute nodes included in the graph or an empty list if none have been defined
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
Class<T> getClassType()
- Return:
- managed type referenced by the subgraph
- Since:
- JPA 2.1
boolean hasAttributeNode(Attribute<?superT,?> attribute)
- Parameters:
attribute
- attribute
- Return:
- true if there is an existing attribute node
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
boolean hasAttributeNode(String attributeName)
- Parameters:
attributeName
- name of the attribute
- Return:
- true if there is an existing attribute node
- Throws:
- IllegalArgumentException - if the attribute is not an attribute of this entity.
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
void removeAttributeNode(Attribute<?superT,?> attribute)
When this graph is interpreted as a load graph, this operation suppresses inclusion of an attribute mapped for eager fetching. The effect of this call may be overridden by subsequent invocations of addAttributeNode() or addSubgraph(). If there is no existing node for the given attribute, this operation has no effect.
- Parameters:
attribute
- attribute
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
void removeAttributeNode(String attributeName)
When this graph is interpreted as a load graph, this operation suppresses inclusion of an attribute mapped for eager fetching. The effect of this call may be overridden by subsequent invocations of addAttributeNode() or addSubgraph(). If there is no existing node for the given attribute name, this operation has no effect.
- Parameters:
attributeName
- name of the attribute
- Inherited from:
Graph<T>
- Since:
- JPA 3.2
void removeAttributeNodes(Attribute<X,Y>.PersistentAttributeType nodeTypes)
When this graph is interpreted as a load graph, this operation suppresses inclusion of attributes mapped for eager fetching. The effect of this call may be overridden by subsequent invocations of addAttributeNode() or addSubgraph().
- Inherited from:
Graph<T>
- Since:
- JPA 3.2