Interface GraphImplementor<J>
- All Superinterfaces:
Graph<J>, Graph<J>, GraphNode<J>, GraphNodeImplementor<J>
- All Known Subinterfaces:
RootGraphImplementor<J>, SubGraphImplementor<J>
Graph contract.-
Method Summary
Modifier and TypeMethodDescription<Y> AttributeNodeImplementor<Y, ?, ?> addAttributeNode(Attribute<? super J, Y> attribute) Add anAttributeNoderepresenting the givenAttributeto this node of the graph without creating any associatedSubGraph.<AJ> AttributeNodeImplementor<AJ, ?, ?> addAttributeNode(PersistentAttribute<? super J, AJ> attribute) <X> SubGraphImplementor<X> addKeySubgraph(String attributeName) <X> SubGraphImplementor<X> addKeySubgraph(String attributeName, Class<X> type) <AJ> SubGraphImplementor<AJ> addKeySubGraph(String attributeName) <AJ> SubGraphImplementor<AJ> addKeySubGraph(String attributeName, Class<AJ> subtype) <AJ> SubGraphImplementor<AJ> addKeySubGraph(MapPersistentAttribute<? super J, ? super AJ, ?> attribute, Class<AJ> subtype) <X> SubGraphImplementor<X> addSubgraph(Attribute<? super J, X> attribute) <X> SubGraphImplementor<X> addSubgraph(String attributeName) <X> SubGraphImplementor<X> addSubgraph(String attributeName, Class<X> type) <AJ> SubGraphImplementor<AJ> addSubGraph(String attributeName) <AJ> SubGraphImplementor<AJ> addSubGraph(String attributeName, Class<AJ> subType) <AJ> SubGraphImplementor<AJ> addSubGraph(PersistentAttribute<? super J, ? super AJ> attribute, Class<AJ> subtype) Create and return a new (mutable)SubGraphassociated with the givenPersistentAttribute, and with the given type, which may be a subtype of the attribute type, or return an existing suchSubGraphif there is one.<AJ> SubGraphImplementor<AJ> addSubGraph(PersistentAttribute<? super J, AJ> attribute) <AJ> SubGraph<AJ> addTreatedElementSubgraph(PluralAttribute<? super J, ?, ? super AJ> attribute, ManagedType<AJ> type) <E> SubGraphImplementor<E> addTreatedElementSubgraph(PluralAttribute<? super J, ?, ? super E> attribute, Class<E> type) <AJ> SubGraphImplementor<AJ> addTreatedMapKeySubgraph(MapAttribute<? super J, ? super AJ, ?> attribute, ManagedType<AJ> type) <K> SubGraphImplementor<K> addTreatedMapKeySubgraph(MapAttribute<? super J, ? super K, ?> attribute, Class<K> type) <AJ> SubGraphImplementor<AJ> addTreatedSubgraph(Attribute<? super J, ? super AJ> attribute, ManagedType<AJ> type) <Y> SubGraphImplementor<Y> addTreatedSubgraph(Attribute<? super J, ? super Y> attribute, Class<Y> type) <Y extends J>
SubGraphImplementor<Y> addTreatedSubgraph(ManagedType<Y> type) <Y extends J>
SubGraphImplementor<Y> addTreatedSubgraph(Class<Y> type) <AJ> AttributeNodeImplementor<AJ, ?, ?> findAttributeNode(String attributeName) Find an existingAttributeNodeby name within this container.<AJ> AttributeNodeImplementor<AJ, ?, ?> findAttributeNode(PersistentAttribute<? super J, AJ> attribute) Find an existingAttributeNodeby corresponding attribute reference, within this container.<T> AttributeNodeImplementor<T, ?, ?> Returns the named node associated with the graph, if one, including checks into treated subgraphs.<AJ> AttributeNodeImplementor<AJ, ?, ?> <AJ> AttributeNodeImplementor<AJ, ?, ?> findOrCreateAttributeNode(PersistentAttribute<? super J, AJ> attribute) <Y> AttributeNodeImplementor<Y, ?, ?> getAttributeNode(Attribute<? super J, Y> attribute) Find an existingAttributeNodeby corresponding attribute reference, within this container.<Y> AttributeNodeImplementor<Y, ?, ?> getAttributeNode(String attributeName) Find an existingAttributeNodeby name within this container.List<? extends AttributeNodeImplementor<?, ?, ?>> All nodes belonging to this container.<T> AttributeNodeImplementor<T, ?, ?> getExistingNode(String attributeName) Retrieve an already existing node, if one, from the graph excluding all other checks.<T> AttributeNodeImplementor<T, ?, ?> getExistingNode(PersistentAttribute<?, ? extends T> attribute) Retrieve an already existing node, if one, from the graph excluding all other checks.Map<PersistentAttribute<? super J, ?>, AttributeNodeImplementor<?, ?, ?>> getNodes()Map<Class<? extends J>, SubGraphImplementor<? extends J>> default booleanhasAttributeNode(Attribute<? super J, ?> attribute) default booleanhasAttributeNode(String attributeName) makeCopy(boolean mutable) Make a copy of this graph node, with the given mutability.makeRootGraph(String name, boolean mutable) Deprecated, for removal: This API element is subject to removal in a future version.makeSubGraph(boolean mutable) Deprecated, for removal: This API element is subject to removal in a future version.voidmerge(GraphImplementor<J> other) voidmergeInternal(GraphImplementor<J> graph) Methods inherited from interface Graph
addAttributeNode, addAttributeNodes, addAttributeNodes, getAttributeNodes, removeAttributeNode, removeAttributeNode, removeAttributeNodesMethods inherited from interface Graph
addElementSubgraph, addElementSubgraph, addElementSubgraph, addKeySubgraph, addKeySubgraph, addMapKeySubgraph, addPluralSubgraph, addSubgraph, getGraphedType
-
Method Details
-
findNode
Returns the named node associated with the graph, if one, including checks into treated subgraphs. Returns the node regardless of AttributeNode.isRemoved() which is important for actually implementing proper spec compliance with regard to impact of removed nodes.- Returns:
- The named node, or
null. - See Also:
-
getExistingNode
Retrieve an already existing node, if one, from the graph excluding all other checks. Used in implementing findNode(String) -
getExistingNode
Retrieve an already existing node, if one, from the graph excluding all other checks. Used in implementing findNode(String) -
makeCopy
Description copied from interface:GraphMake a copy of this graph node, with the given mutability.If this graph is immutable, and the argument is
false, simply return this instance. -
merge
-
mergeInternal
-
makeRootGraph
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:GraphCreate a named root graph representing this node.- Specified by:
makeRootGraphin interfaceGraph<J>- Parameters:
mutable- controls whether the resulting graph is mutable
-
makeSubGraph
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:GraphCreate a new subgraph representing this node.- Specified by:
makeSubGraphin interfaceGraph<J>
-
getAttributeNodeList
List<? extends AttributeNodeImplementor<?,?, getAttributeNodeList()?>> Description copied from interface:GraphAll nodes belonging to this container.- Specified by:
getAttributeNodeListin interfaceGraph<J>- See Also:
-
getNodes
Map<PersistentAttribute<? super J, ?>, AttributeNodeImplementor<?,?, getNodes()?>> -
getTreatedSubgraphs
Map<Class<? extends J>, SubGraphImplementor<? extends J>> getTreatedSubgraphs() -
getAttributeNode
Description copied from interface:GraphFind an existingAttributeNodeby name within this container.- Specified by:
getAttributeNodein interfaceGraph<J>- Specified by:
getAttributeNodein interfaceGraph<J>
-
getAttributeNode
Description copied from interface:GraphFind an existingAttributeNodeby corresponding attribute reference, within this container.- Specified by:
getAttributeNodein interfaceGraph<J>- Specified by:
getAttributeNodein interfaceGraph<J>
-
findAttributeNode
Description copied from interface:GraphFind an existingAttributeNodeby name within this container.- Specified by:
findAttributeNodein interfaceGraph<J>
-
findAttributeNode
<AJ> AttributeNodeImplementor<AJ,?, findAttributeNode?> (PersistentAttribute<? super J, AJ> attribute) Description copied from interface:GraphFind an existingAttributeNodeby corresponding attribute reference, within this container.- Specified by:
findAttributeNodein interfaceGraph<J>
-
findOrCreateAttributeNode
-
findOrCreateAttributeNode
<AJ> AttributeNodeImplementor<AJ,?, findOrCreateAttributeNode?> (PersistentAttribute<? super J, AJ> attribute) -
addAttributeNode
<AJ> AttributeNodeImplementor<AJ,?, addAttributeNode?> (PersistentAttribute<? super J, AJ> attribute) -
addAttributeNode
Description copied from interface:GraphAdd anAttributeNoderepresenting the givenAttributeto this node of the graph without creating any associatedSubGraph.- Specified by:
addAttributeNodein interfaceGraph<J>- Specified by:
addAttributeNodein interfaceGraph<J>
-
addTreatedSubgraph
-
addTreatedSubgraph
-
addSubgraph
Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the namedAttribute, or return an existing suchSubGraphif there is one.- Specified by:
addSubgraphin interfaceGraph<J>- Specified by:
addSubgraphin interfaceGraph<J>- Parameters:
attributeName- The name of an attribute of the represented type
-
addSubGraph
-
addSubGraph
Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the namedAttribute, and with the given type, which may be a subtype of the attribute type, or return an existing suchSubGraphif there is one.If the given type is a proper subtype of the attribute type, the result is a treated subgraph.
- Specified by:
addSubGraphin interfaceGraph<J>- Parameters:
attributeName- The name of an attribute of the represented typesubType- A subtype of the attribute type
-
addSubGraph
Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the givenAttributeof the represented type, or return an existing suchSubGraphif there is one.- Specified by:
addSubGraphin interfaceGraph<J>- Parameters:
attribute- An attribute of the represented type- See Also:
-
addSubGraph
<AJ> SubGraphImplementor<AJ> addSubGraph(PersistentAttribute<? super J, ? super AJ> attribute, Class<AJ> subtype) Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the givenPersistentAttribute, and with the given type, which may be a subtype of the attribute type, or return an existing suchSubGraphif there is one.If the given type is a proper subtype of the attribute type, the result is a treated subgraph.
- Specified by:
addSubGraphin interfaceGraph<J>- Parameters:
attribute- An attribute of the represented typesubtype- A subtype of the attribute type- See Also:
-
addKeySubGraph
Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the key of the named map or return an existing suchSubGraphif there is one.- Specified by:
addKeySubGraphin interfaceGraph<J>- Parameters:
attributeName- The name of an attribute of the represented type
-
addKeySubGraph
Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the key of the named map, and with the given type, which may be a subtype of the attribute type, or return an existing suchSubGraphif there is one.If the given type is a proper subtype of the key type, the result is a treated subgraph.
- Specified by:
addKeySubGraphin interfaceGraph<J>- Parameters:
attributeName- The name of a map-valued attribute of the represented typesubtype- A subtype of the key type
-
addKeySubGraph
<AJ> SubGraphImplementor<AJ> addKeySubGraph(MapPersistentAttribute<? super J, ? super AJ, ?> attribute, Class<AJ> subtype) Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the key of the named map, and with the given type, which may be a subtype of the attribute type, or return an existing suchSubGraphif there is one.If the given type is a proper subtype of the key type, the result is a treated subgraph.
- Specified by:
addKeySubGraphin interfaceGraph<J>- Parameters:
attribute- A map-valued attribute of the represented typesubtype- A subtype of the key type
-
addSubgraph
Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the namedAttribute, and with the given type, which may be a subtype of the attribute type, or return an existing suchSubGraphif there is one.If the given type is a proper subtype of the attribute type, the result is a treated subgraph.
- Specified by:
addSubgraphin interfaceGraph<J>- Specified by:
addSubgraphin interfaceGraph<J>- Parameters:
attributeName- The name of an attribute of the represented typetype- A subtype of the attribute type
-
addSubgraph
Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the givenAttributeof the represented type, or return an existing suchSubGraphif there is one.- Specified by:
addSubgraphin interfaceGraph<J>- Specified by:
addSubgraphin interfaceGraph<J>- Parameters:
attribute- An attribute of the represented type- See Also:
-
addTreatedSubgraph
<Y> SubGraphImplementor<Y> addTreatedSubgraph(Attribute<? super J, ? super Y> attribute, Class<Y> type) Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the givenAttribute, and with the given type, which may be a subtype of the attribute type, or return an existing suchSubGraphif there is one.If the given type is a proper subtype of the attribute type, the result is a treated subgraph.
- Specified by:
addTreatedSubgraphin interfaceGraph<J>- Specified by:
addTreatedSubgraphin interfaceGraph<J>- Parameters:
attribute- An attribute of the represented typetype- A subtype of the attribute type- See Also:
-
addTreatedSubgraph
<AJ> SubGraphImplementor<AJ> addTreatedSubgraph(Attribute<? super J, ? super AJ> attribute, ManagedType<AJ> type) Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the givenAttribute, and with the given type, which may be a subtype of the attribute type, or return an existing suchSubGraphif there is one.If the given type is a proper subtype of the attribute type, the result is a treated subgraph.
- Specified by:
addTreatedSubgraphin interfaceGraph<J>- Parameters:
attribute- An attribute of the represented typetype- A subtype of the attribute type
-
addTreatedElementSubgraph
<E> SubGraphImplementor<E> addTreatedElementSubgraph(PluralAttribute<? super J, ?, ? super E> attribute, Class<E> type) Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the element of the given collection, and with the given type, which may be a subtype of the element type, or return an existing suchSubGraphif there is one.If the given type is a proper subtype of the element type, the result is a treated subgraph.
- Specified by:
addTreatedElementSubgraphin interfaceGraph<J>- Specified by:
addTreatedElementSubgraphin interfaceGraph<J>- Parameters:
attribute- A collection-valued attribute of the represented typetype- A subtype of the element type
-
addTreatedElementSubgraph
<AJ> SubGraph<AJ> addTreatedElementSubgraph(PluralAttribute<? super J, ?, ? super AJ> attribute, ManagedType<AJ> type) Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the element of the given collection, and with the given type, which may be a subtype of the attribute type, or return an existing suchSubGraphif there is one.If the given type is a proper subtype of the element type, the result is a treated subgraph.
- Specified by:
addTreatedElementSubgraphin interfaceGraph<J>- Parameters:
attribute- A collection-valued attribute of the represented typetype- A subtype of the element type
-
addKeySubgraph
Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the key of the named map or return an existing suchSubGraphif there is one.- Specified by:
addKeySubgraphin interfaceGraph<J>- Specified by:
addKeySubgraphin interfaceGraph<J>- Parameters:
attributeName- The name of an attribute of the represented type
-
addKeySubgraph
Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the key of the named map, and with the given type, which may be a subtype of the attribute type, or return an existing suchSubGraphif there is one.- Specified by:
addKeySubgraphin interfaceGraph<J>- Specified by:
addKeySubgraphin interfaceGraph<J>- Parameters:
attributeName- The name of a map-valued attribute of the represented typetype- A subtype of the key type
-
addTreatedMapKeySubgraph
<K> SubGraphImplementor<K> addTreatedMapKeySubgraph(MapAttribute<? super J, ? super K, ?> attribute, Class<K> type) Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the key of the named map, and with the given type, which may be a subtype of the attribute type, or return an existing suchSubGraphif there is one.If the given type is a proper subtype of the key type, the result is a treated subgraph.
- Specified by:
addTreatedMapKeySubgraphin interfaceGraph<J>- Specified by:
addTreatedMapKeySubgraphin interfaceGraph<J>- Parameters:
attribute- A map-valued attribute of the represented typetype- A subtype of the key type
-
addTreatedMapKeySubgraph
<AJ> SubGraphImplementor<AJ> addTreatedMapKeySubgraph(MapAttribute<? super J, ? super AJ, ?> attribute, ManagedType<AJ> type) Description copied from interface:GraphCreate and return a new (mutable)SubGraphassociated with the key of the named map, and with the given type, which may be a subtype of the attribute type, or return an existing suchSubGraphif there is one.If the given type is a proper subtype of the key type, the result is a treated subgraph.
- Specified by:
addTreatedMapKeySubgraphin interfaceGraph<J>- Parameters:
attribute- A map-valued attribute of the represented typetype- A subtype of the key type
-
hasAttributeNode
- Specified by:
hasAttributeNodein interfaceGraph<J>
-
hasAttributeNode
- Specified by:
hasAttributeNodein interfaceGraph<J>
-