EclipseLink 2.5.0, build 'v20130312-9664d23' API Reference

org.eclipse.persistence.jaxb
Interface SubGraph<T>

Type Parameters:
T - the Class type of the AttributeNode.
All Superinterfaces:
AttributeNode<T>

public interface SubGraph<T>
extends AttributeNode<T>

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 Summary
<X> void
addAttributeNodes(java.lang.String... attributeName)
          Add an AttributeNode attribute to the entity graph.
<X> SubGraph<X>
addSubGraph(java.lang.String attribute)
          Used to add a node of the graph that corresponds to a managed type.
<X> SubGraph<X>
addSubGraph(java.lang.String attribute, java.lang.Class<X> type)
          Used to add a node of the graph that corresponds to a managed type with inheritance.
 java.util.List<AttributeNode<?>> getAttributeNodes()
          returns the attributes of this managed type that are included in the sub-graph
<X> java.lang.Class<X>
getClassType()
          returns the attribute that references this sub-graph
 
Methods inherited from interface org.eclipse.persistence.jaxb.AttributeNode
getAttributeName
 

Method Detail

addAttributeNodes

<X> void addAttributeNodes(java.lang.String... attributeName)
Add an AttributeNode attribute to the entity graph.

Throws:
java.lang.IllegalArgumentException - if the attribute is not an attribute of this managed type.
java.lang.IllegalStateException - if this EntityGraph has been statically defined

addSubGraph

<X> SubGraph<X> addSubGraph(java.lang.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:
java.lang.IllegalArgumentException - if the attribute is not an attribute of this managed type.
java.lang.IllegalArgumentException - if the attribute's target type is not a managed type
java.lang.IllegalStateException - if this EntityGraph has been statically defined

addSubGraph

<X> SubGraph<X> addSubGraph(java.lang.String attribute,
                            java.lang.Class<X> 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:
java.lang.IllegalArgumentException - if the attribute is not an attribute of this managed type.
java.lang.IllegalArgumentException - if the attribute's target type is not a managed type
java.lang.IllegalStateException - if this EntityGraph has been statically defined

getAttributeNodes

java.util.List<AttributeNode<?>> getAttributeNodes()
returns the attributes of this managed type that are included in the sub-graph


getClassType

<X> java.lang.Class<X> getClassType()
returns the attribute that references this sub-graph. / public Attribute getReferencingAttribute(); /** returns the type of this sub-graph if it was used to extend a superclass sub-graph definition.


EclipseLink 2.5.0, build 'v20130312-9664d23' API Reference