INamedGraph Interface |
Namespace: de.unika.ipd.grGen.libGr
public interface INamedGraph : IGraph
The INamedGraph type exposes the following members.
Name | Description | |
---|---|---|
ChangesCounter |
Returns a counter of the number of changes that occured since the graph was created.
If it's different since last time you visited, the graph has changed (but it may be back again in the original state).
Only graph structure changes are counted, attribute changes are not included.
(Inherited from IGraph.) | |
CustomCommandsAndDescriptions |
The graph-backend dependent commands that are available, and a description of each command.
(Inherited from IGraph.) | |
Edges |
Enumerates all edges in the graph.
(Inherited from IGraph.) | |
GlobalVariables |
The global variables of the graph rewrite system; convenience access to save parameter passing.
(Inherited from IGraph.) | |
GraphId |
A unique id associated with the graph
(Inherited from IGraph.) | |
Indices |
The indices associated with the graph.
(Inherited from IGraph.) | |
Model |
The model associated with the graph.
(Inherited from IGraph.) | |
Name |
A name associated with the graph.
(Inherited from IGraph.) | |
Nodes |
Enumerates all nodes in the graph.
(Inherited from IGraph.) | |
NumEdges |
The total number of edges in the graph.
(Inherited from IGraph.) | |
NumNodes |
The total number of nodes in the graph.
(Inherited from IGraph.) | |
ReuseOptimization |
If true (the default case), elements deleted during a rewrite
may be reused in the same rewrite.
As a result new elements may not be discriminable anymore from
already deleted elements using object equality, hash maps, etc.
In cases where this is needed this optimization should be disabled.
(Inherited from IGraph.) | |
UniquenessHandler |
The uniqueness handler associated with the graph.
(Inherited from IGraph.) |
Name | Description | |
---|---|---|
AddEdge(IEdge) |
Adds an existing IEdge object to the graph.
The edge must not be part of any graph, yet!
Source and target of the edge must already be part of the graph.
(Inherited from IGraph.) | |
AddEdge(IEdge, String) |
Adds an existing edge to the graph, names it, and assigns it to the given variable.
| |
AddEdge(EdgeType, INode, INode) |
Adds a new edge to the graph.
(Inherited from IGraph.) | |
AddEdge(EdgeType, INode, INode, String) |
Adds a new named edge to the graph and assigns it to the given variable.
| |
AddNode(INode) |
Adds an existing INode object to the graph.
The node must not be part of any graph, yet!
The node may not be connected to any other elements!
(Inherited from IGraph.) | |
AddNode(NodeType) |
Adds a new node to the graph.
(Inherited from IGraph.) | |
AddNode(INode, String) |
Adds an existing node to the graph and names it.
| |
AddNode(NodeType, String) |
Adds a new named node to the graph.
| |
AllocateVisitedFlag |
Allocates a visited flag on the graph elements.
(Inherited from IGraph.) | |
Canonize |
Returns a canonical representation of the graph as a string
(Inherited from IGraph.) | |
ChangedEdgeAttribute |
Fires an OnChangedEdgeAttribute event.
For debugging, won't be automatically called in case of -nodebugevents, attribute change rollback is based on the pre-events.
(Inherited from IGraph.) | |
ChangedNodeAttribute |
Fires an OnChangedNodeAttribute event.
For debugging, won't be automatically called in case of -nodebugevents, attribute change rollback is based on the pre-events.
(Inherited from IGraph.) | |
ChangingEdgeAttribute |
Fires an OnChangingEdgeAttribute event.
To be called before changing an attribute of an edge,
with exact information about the change to occur,
to allow rollback of changes, in case a transaction is underway.
(Inherited from IGraph.) | |
ChangingNodeAttribute |
Fires an OnChangingNodeAttribute event.
To be called before changing an attribute of a node,
with exact information about the change to occur,
to allow rollback of changes, in case a transaction is underway.
(Inherited from IGraph.) | |
ChangingObjectAttribute |
Fires an OnChangingObjectAttribute event.
To be called before changing an attribute of an internal object,
with exact information about the change to occur,
to allow rollback of changes, in case a transaction is underway.
(Inherited from IGraph.) | |
Check |
Checks whether the internal data structures are ok (will throw an exception if they are not).
This is for debugging the underlying implementation from positions outside the implementation.
(Inherited from IGraph.) | |
Clear |
Removes all nodes and edges from the graph (so any variables pointing to them start dangling).
Also resets the class object unique id source.
(Inherited from IGraph.) | |
Clone(String) |
Duplicates a graph.
The new graph will use the same model as the other.
(Inherited from IGraph.) | |
Clone(String, IDictionaryIGraphElement, IGraphElement) |
Duplicates a graph.
The new graph will use the same model as the other.
(Inherited from IGraph.) | |
CloneAndAssignNames |
Duplicates a graph, assigning names. (Don't use this on a named graph.)
The new graph will use the same model and backend as the other.
(Inherited from IGraph.) | |
CloneNamed |
Duplicates a named graph.
The new graph will use the same model as the other.
| |
CreateEmptyEquivalent |
Creates an empty graph using the same model as the other.
(Inherited from IGraph.) | |
Custom |
Does graph-backend dependent stuff.
(Inherited from IGraph.) | |
FreeVisitedFlag |
Frees a visited flag.
This is a safe but O(n) operation, as it resets the visited flag in the graph.
(Inherited from IGraph.) | |
FreeVisitedFlagNonReset |
Frees a clean visited flag.
This is an O(1) but potentially unsafe operation.
Attention! A marked element stays marked, so a later allocation hands out a dirty visited flag!
Use only if you can ensure that all elements of that flag are unmarked before calling.
(Inherited from IGraph.) | |
GetAllocatedVisitedFlags |
Returns the ids of the allocated visited flags.
(Inherited from IGraph.) | |
GetCompatibleEdges |
Enumerates all edges compatible to the given edge type.
(Inherited from IGraph.) | |
GetCompatibleNodes |
Enumerates all nodes compatible to the given node type.
(Inherited from IGraph.) | |
GetEdge(Int32) |
Gets the edge for the given id.
Only available if the unique index was declared in the model.
(Inherited from IGraph.) | |
GetEdge(String) |
Gets the graph element for the given name.
| |
GetElementName |
Returns the name for the given element.
| |
GetExactEdges |
Enumerates all edges with the exact given edge type.
(Inherited from IGraph.) | |
GetExactNodes |
Enumerates all nodes with the exact given node type.
(Inherited from IGraph.) | |
GetGraphElement(Int32) |
Gets the graph element for the given unique id.
Only available if the unique index was declared in the model.
(Inherited from IGraph.) | |
GetGraphElement(String) |
Gets the graph element for the given name.
| |
GetIsomorph |
Returns the graph from the set of graphs given that is isomorphic to this graph (including the attribute values), or null if no such graph exists
If a graph changed only in attribute values since the last comparison, results will be wrong!
(Do a fake node insert and removal to ensure the graph is recognized as having changed.)
Don't call from a parallelized matcher!
(Inherited from IGraph.) | |
GetNode(Int32) |
Gets the node for the given unique id.
Only available if the unique index was declared in the model.
(Inherited from IGraph.) | |
GetNode(String) |
Gets the node for the given name.
| |
GetNumCompatibleEdges |
Returns the number of edges compatible to the given edge type.
(Inherited from IGraph.) | |
GetNumCompatibleNodes |
Returns the number of nodes compatible to the given node type.
(Inherited from IGraph.) | |
GetNumExactEdges |
Returns the number of edges with the exact given edge type.
(Inherited from IGraph.) | |
GetNumExactNodes |
Returns the number of nodes with the exact given node type.
(Inherited from IGraph.) | |
GetSameStructure |
Returns the graph from the set of graphs given that is isomorphic to this graph (neglecting the attribute values, only structurally), or null if no such graph exists
Don't call from a parallelized matcher!
(Inherited from IGraph.) | |
HasSameStructure(IGraph) |
Returns whether this graph is isomorphic to that graph, neglecting the attribute values, only structurally
(Inherited from IGraph.) | |
HasSameStructure(IDictionaryIGraph, SetValueType) |
Returns whether this graph is isomorphic to any of the set of graphs given, neglecting the attribute values, only structurally
Don't call from a parallelized matcher!
(Inherited from IGraph.) | |
IsInternallyVisited(IGraphElement) |
Returns whether the given graph element has been internally visited.
(Used for computing reachability.)
(Inherited from IGraph.) | |
IsInternallyVisited(IGraphElement, Int32) |
Returns whether the given graph element has been internally visited.
(Used for computing reachability when employed from a parallelized matcher executed by the thread pool.)
(Inherited from IGraph.) | |
IsIsomorph(IGraph) |
Returns whether this graph is isomorphic to that graph (including the attribute values)
If a graph changed only in attribute values since the last comparison, results will be wrong!
(Do a fake node insert and removal to ensure the graph is recognized as having changed.)
(Inherited from IGraph.) | |
IsIsomorph(IDictionaryIGraph, SetValueType) |
Returns whether this graph is isomorphic to any of the set of graphs given (including the attribute values)
If a graph changed only in attribute values since the last comparison, results will be wrong!
(Do a fake node insert and removal to ensure the graph is recognized as having changed.)
Don't call from a parallelized matcher!
(Inherited from IGraph.) | |
IsVisited |
Returns whether the given graph element has been visited.
(Inherited from IGraph.) | |
Merge(INode, INode) |
Merges the source node into the target node,
i.e. all edges incident to the source node are redirected to the target node, then the source node is deleted.
| |
Merge(INode, INode, String) |
Merges the source node into the target node,
i.e. all edges incident to the source node are redirected to the target node, then the source node is deleted.
(Inherited from IGraph.) | |
RedirectSource(IEdge, INode) |
Changes the source node of the edge from the old source to the given new source.
| |
RedirectSource(IEdge, INode, String) |
Changes the source node of the edge from the old source to the given new source.
(Inherited from IGraph.) | |
RedirectSourceAndTarget(IEdge, INode, INode) |
Changes the source of the edge from the old source to the given new source,
and changes the target node of the edge from the old target to the given new target.
| |
RedirectSourceAndTarget(IEdge, INode, INode, String, String) |
Changes the source of the edge from the old source to the given new source,
and changes the target node of the edge from the old target to the given new target.
(Inherited from IGraph.) | |
RedirectTarget(IEdge, INode) |
Changes the target node of the edge from the old target to the given new target.
| |
RedirectTarget(IEdge, INode, String) |
Changes the target node of the edge from the old target to the given new target.
(Inherited from IGraph.) | |
Remove(IEdge) |
Removes the given edge from the graph.
(Inherited from IGraph.) | |
Remove(INode) |
Removes the given node from the graph.
There must be no edges left incident to the node (you may use RemoveEdges to ensure this).
(Inherited from IGraph.) | |
RemoveEdges |
Removes all edges from the given node.
(Inherited from IGraph.) | |
ResetVisitedFlag |
Resets the visited flag with the given ID on all graph elements, if necessary.
(Inherited from IGraph.) | |
Retype(IEdge, EdgeType) |
Retypes an edge by creating a new edge of the given type.
Source and target node as well as all attributes from common super classes are kept.
(Inherited from IGraph.) | |
Retype(INode, NodeType) |
Retypes a node by creating a new node of the given type.
All incident edges as well as all attributes from common super classes are kept.
(Inherited from IGraph.) | |
SetElementName |
Sets the name for a graph element. Any previous name will be overwritten.
| |
SetElementPrefixName |
Sets a name of the form prefix + number for the graph element,
with number being the first number from 0 on yielding an element name not already available in the graph
| |
SetInternallyVisited(IGraphElement, Boolean) |
Sets the internal-use visited flag of the given graph element.
(Used for computing reachability.)
(Inherited from IGraph.) | |
SetInternallyVisited(IGraphElement, Boolean, Int32) |
Sets the internal-use visited flag of the given graph element.
(Used for computing reachability when employed from a parallelized matcher executed by the thread pool.)
(Inherited from IGraph.) | |
SetVisited |
Sets the visited flag of the given graph element.
(Inherited from IGraph.) | |
Validate |
Checks whether a graph meets the connection assertions.
(Inherited from IGraph.) |
Name | Description | |
---|---|---|
OnChangedEdgeAttribute |
Fired after an attribute of an edge is changed; for debugging purpose.
Note for LGSPBackend:
Because graph elements of the LGSPBackend don't know their graph a call to
LGSPGraphElement.SetAttribute will not fire this event. If you use this function
and want the event to be fired, you have to fire it yourself
using ChangedEdgeAttributes.
(Inherited from IGraph.) | |
OnChangedNodeAttribute |
Fired after an attribute of a node is changed; for debugging purpose.
Note for LGSPBackend:
Because graph elements of the LGSPBackend don't know their graph a call to
LGSPGraphElement.SetAttribute will not fire this event. If you use this function
and want the event to be fired, you have to fire it yourself
using ChangedNodeAttributes.
(Inherited from IGraph.) | |
OnChangingEdgeAttribute |
Fired before an attribute of an edge is changed.
Note for LGSPBackend:
Because graph elements of the LGSPBackend don't know their graph a call to
LGSPGraphElement.SetAttribute will not fire this event. If you use this function
and want the event to be fired, you have to fire it yourself
using ChangingEdgeAttributes.
(Inherited from IGraph.) | |
OnChangingNodeAttribute |
Fired before an attribute of a node is changed.
Note for LGSPBackend:
Because graph elements of the LGSPBackend don't know their graph a call to
LGSPGraphElement.SetAttribute will not fire this event. If you use this function
and want the event to be fired, you have to fire it yourself
using ChangingNodeAttributes.
(Inherited from IGraph.) | |
OnChangingObjectAttribute |
Fired before an attribute of an object is changed.
Note for LGSPBackend:
Because objects (of the LGSPBackend) don't know their graph a call to
LGSPObject.SetAttribute will not fire this event. If you use this function
and want the event to be fired, you have to fire it yourself
using ChangingObjectAttributes.
(Inherited from IGraph.) | |
OnClearingGraph |
Fired before the whole graph is cleared
(Inherited from IGraph.) | |
OnEdgeAdded |
Fired after an edge has been added
(Inherited from IGraph.) | |
OnNodeAdded |
Fired after a node has been added
(Inherited from IGraph.) | |
OnObjectCreated |
Fired after an object has been created (there is no event when it gets destroyed)
(Inherited from IGraph.) | |
OnRedirectingEdge |
Fired before an edge is redirected (causing removal then adding again).
The edge to be redirected is provided to the handler.
(Inherited from IGraph.) | |
OnRemovingEdge |
Fired before an edge is deleted
(Inherited from IGraph.) | |
OnRemovingEdges |
Fired before all edges of a node are deleted
(Inherited from IGraph.) | |
OnRemovingNode |
Fired before a node is deleted
(Inherited from IGraph.) | |
OnRetypingEdge |
Fired before the type of an edge is changed.
Old and new edges are provided to the handler.
(Inherited from IGraph.) | |
OnRetypingNode |
Fired before the type of a node is changed.
Old and new nodes are provided to the handler.
(Inherited from IGraph.) | |
OnSettingAddedEdgeNames |
Fired before each rewrite step (also rewrite steps of subpatterns) to indicate the names
of the edges added in this rewrite step in order of addition.
(Inherited from IGraph.) | |
OnSettingAddedNodeNames |
Fired before each rewrite step (also rewrite steps of subpatterns) to indicate the names
of the nodes added in this rewrite step in order of addition.
(Inherited from IGraph.) | |
OnSettingVisited |
Fired before a visited flag is set.
(Inherited from IGraph.) | |
OnVisitedAlloc |
Fired after a visited flag was allocated.
(Inherited from IGraph.) | |
OnVisitedFree |
Fired after a visited flag was freed.
(Inherited from IGraph.) |