![]() | LGSPNamedGraph Class |
Namespace: de.unika.ipd.grGen.lgsp
public class LGSPNamedGraph : LGSPGraph, INamedGraph, IGraph
The LGSPNamedGraph type exposes the following members.
Name | Description | |
---|---|---|
![]() | LGSPNamedGraph(LGSPGraph) |
Copy and extend constructor, creates a named graph from a normal graph.
Initializes the name maps with anonymous names in the form "$" + GetNextName()
|
![]() | LGSPNamedGraph(LGSPGraph, IDictionaryIGraphElement, IGraphElement) |
Copy and extend constructor, creates a named graph from a normal graph.
Initializes the name maps with anonymous names in the form "$" + GetNextName()
|
![]() | LGSPNamedGraph(LGSPGraph, String) |
Copy and extend constructor, creates a named graph from a normal graph.
Initializes the name maps with the names provided in a given attribute each graph element must have
|
![]() | LGSPNamedGraph(LGSPNamedGraph, String) |
Copy constructor.
|
![]() | LGSPNamedGraph(IGraphModel, IGlobalVariables, Int32) |
Constructs an LGSPNamedGraph object with the given model and capacity, and an automatically generated name.
|
![]() | LGSPNamedGraph(LGSPGraph, String, IDictionaryIGraphElement, IGraphElement) |
Copy and extend constructor, creates a named graph from a normal graph.
Initializes the name maps with the names provided in a given attribute each graph element must have
|
![]() | LGSPNamedGraph(LGSPNamedGraph, String, IDictionaryIGraphElement, IGraphElement) |
Copy constructor.
|
![]() | LGSPNamedGraph(IGraphModel, IGlobalVariables, String, Int32) |
Constructs an LGSPNamedGraph object with the given model, name, and capacity.
|
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 LGSPGraph.) |
![]() | CustomCommandsAndDescriptions |
The graph-backend dependent commands that are available, and a description of each command.
(Inherited from LGSPGraph.) |
![]() | Edges | (Inherited from BaseGraph.) |
![]() | GlobalVariables |
The global variables of the graph rewrite system; convenience access to save parameter passing.
(Inherited from LGSPGraph.) |
![]() | GraphId | (Inherited from LGSPGraph.) |
![]() | Indices |
The indices associated with the graph.
(Inherited from LGSPGraph.) |
![]() | Model |
The model associated with the graph.
(Inherited from LGSPGraph.) |
![]() | Name |
A name associated with the graph.
(Inherited from LGSPGraph.) |
![]() | Nodes | (Inherited from BaseGraph.) |
![]() | NumEdges | (Inherited from BaseGraph.) |
![]() | NumNodes | (Inherited from BaseGraph.) |
![]() | 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 LGSPGraph.) |
![]() | UniquenessHandler |
The uniqueness handler associated with the graph.
(Inherited from LGSPGraph.) |
Name | Description | |
---|---|---|
![]() | AddEdge(IEdge) | (Overrides LGSPGraphAddEdge(IEdge).) |
![]() | AddEdge(LGSPEdge) | (Overrides LGSPGraphAddEdge(LGSPEdge).) |
![]() | AddEdge(IEdge, String) | |
![]() | AddEdge(LGSPEdge, String) | |
![]() | AddEdge(EdgeType, LGSPNode, LGSPNode) | (Overrides LGSPGraphAddEdge(EdgeType, LGSPNode, LGSPNode).) |
![]() | AddEdge(EdgeType, INode, INode) | (Overrides LGSPGraphAddEdge(EdgeType, INode, INode).) |
![]() | AddEdge(EdgeType, LGSPNode, LGSPNode, String) | |
![]() | AddEdge(EdgeType, INode, INode, String) | |
![]() | AddEdgeWithoutEvents |
Adds an existing edge to this graph.
The graph may not already contain the edge!
The edge may not be connected to any other elements!
Intended only for undo, clone, retyping and internal use!
(Inherited from LGSPGraph.) |
![]() | AddLGSPNode(NodeType) | (Overrides LGSPGraphAddLGSPNode(NodeType).) |
![]() | AddLGSPNode(NodeType, String) | |
![]() | AddNode(INode) | (Overrides LGSPGraphAddNode(INode).) |
![]() | AddNode(LGSPNode) | (Overrides LGSPGraphAddNode(LGSPNode).) |
![]() | AddNode(NodeType) | (Overrides LGSPGraphAddNode(NodeType).) |
![]() | AddNode(INode, String) | |
![]() | AddNode(LGSPNode, String) | |
![]() | AddNode(NodeType, String) | |
![]() | AddNodeWithoutEvents |
Adds an existing node to this graph.
The graph may not already contain the node!
The edge may not be connected to any other elements!
Intended only for undo, clone, retyping and internal use!
(Inherited from LGSPGraph.) |
![]() | AllocateFurtherIsomorphySpaceNestingLevelForParallelizedMatching | (Inherited from LGSPGraph.) |
![]() | AllocateVisitedFlag |
Allocates a visited flag on the graph elements.
(Inherited from LGSPGraph.) |
![]() | AnalyzeGraph |
Analyzes the graph.
The calculated data is used to generate good searchplans for the current graph.
(Inherited from LGSPGraph.) |
![]() | Canonize |
Returns a canonical representation of the graph as a string
(Inherited from LGSPGraph.) |
![]() | ChangedEdgeAttribute | (Inherited from BaseGraph.) |
![]() | ChangedNodeAttribute | (Inherited from BaseGraph.) |
![]() | ChangingEdgeAttribute | (Inherited from BaseGraph.) |
![]() | ChangingNodeAttribute | (Inherited from BaseGraph.) |
![]() | ChangingObjectAttribute | (Inherited from BaseGraph.) |
![]() | Check | (Inherited from LGSPGraph.) |
![]() | CheckEdgeAlreadyInTypeRinglist |
Checks if the given edge is already available in its type ringlist
(Inherited from LGSPGraph.) |
![]() | CheckEmptyFlags |
Checks if the matching state flags in the graph are not set, as they should be in case no matching is undereway
(Inherited from LGSPGraph.) |
![]() | CheckInOutRinglistsBroken |
Checks whether the incoming or outgoing ringlists of the given node are broken.
Use for debugging purposes.
(Inherited from LGSPGraph.) |
![]() | CheckNodeAlreadyInTypeRinglist |
Checks if the given node is already available in its type ringlist
(Inherited from LGSPGraph.) |
![]() | CheckTypeRinglistBroken(LGSPEdge) |
Checks whether the type ringlist starting at the given head edge is broken.
Use for debugging purposes.
(Inherited from LGSPGraph.) |
![]() | CheckTypeRinglistBroken(LGSPNode) |
Checks whether the type ringlist starting at the given head node is broken.
Use for debugging purposes.
(Inherited from LGSPGraph.) |
![]() | CheckTypeRinglistsBroken |
Checks whether the type ringlists are broken.
Use for debugging purposes.
(Inherited from LGSPGraph.) |
![]() | Clear | (Overrides LGSPGraphClear.) |
![]() | ClearingGraph |
Fires an OnClearingGraph event.
(Inherited from BaseGraph.) |
![]() | Clone(String) | (Overrides LGSPGraphClone(String).) |
![]() | Clone(String, IDictionaryIGraphElement, IGraphElement) | (Overrides LGSPGraphClone(String, IDictionaryIGraphElement, IGraphElement).) |
![]() | CloneAndAssignNames |
Duplicates a graph, assigning names.
The new graph will use the same model as the other
Open transaction data will not be cloned.
(Inherited from LGSPGraph.) |
![]() | CloneNamed(String) | |
![]() | CloneNamed(String, IDictionaryIGraphElement, IGraphElement) | |
![]() | CreateEmptyEquivalent | (Overrides LGSPGraphCreateEmptyEquivalent(String).) |
![]() | Custom |
Does graph-backend dependent stuff.
(Inherited from LGSPGraph.) |
![]() | DifferentElementWithName |
returns whether another element than the one given already bears the name
|
![]() | DoName |
Initializes the name maps with anonymous names in the form "$" + GetNextName()
|
![]() | DoName(String) | |
![]() | EdgeAdded |
Fires an OnEdgeAdded event.
(Inherited from BaseGraph.) |
![]() | EnsureSufficientIsomorphySpacesForParallelizedMatchingAreAvailable | (Inherited from LGSPGraph.) |
![]() | FreeVisitedFlag |
Frees a visited flag.
This is a safe but O(n) operation, as it resets the visited flag in the graph.
(Inherited from LGSPGraph.) |
![]() | 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 LGSPGraph.) |
![]() | GetAllocatedVisitedFlags |
Returns the ids of the allocated visited flags.
(Inherited from LGSPGraph.) |
![]() | GetCompatibleEdges |
Enumerates all edges compatible to the given edge type.
(Inherited from LGSPGraph.) |
![]() | GetCompatibleNodes |
Enumerates all nodes compatible to the given node type.
(Inherited from LGSPGraph.) |
![]() | GetEdge(Int32) |
Gets the edge for the given id.
Only available if the unique index was declared in the model.
(Inherited from LGSPGraph.) |
![]() | GetEdge(String) | |
![]() | GetEdgeType |
Returns the edge type with the given name.
(Inherited from BaseGraph.) |
![]() | GetElementName | |
![]() | GetExactEdges |
Enumerates all edges with the exact given edge type.
(Inherited from LGSPGraph.) |
![]() | GetExactNodes |
Enumerates all nodes with the exact given node type.
(Inherited from LGSPGraph.) |
![]() | GetGraphElement(Int32) |
Gets the graph element for the given unique id.
Only available if the unique index was declared in the model.
(Inherited from LGSPGraph.) |
![]() | GetGraphElement(String) | |
![]() | 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 LGSPGraph.) |
![]() | GetNode(Int32) |
Gets the node for the given unique id.
Only available if the unique index was declared in the model.
(Inherited from LGSPGraph.) |
![]() | GetNode(String) | |
![]() | GetNodeType |
Returns the node type with the given name.
(Inherited from BaseGraph.) |
![]() | GetNumCompatibleEdges |
Returns the number of edges compatible to the given edge type.
(Inherited from LGSPGraph.) |
![]() | GetNumCompatibleNodes |
Returns the number of nodes compatible to the given node type.
(Inherited from LGSPGraph.) |
![]() | GetNumExactEdges |
Returns the number of edges with the exact given edge type.
(Inherited from LGSPGraph.) |
![]() | GetNumExactNodes |
Returns the number of nodes with the exact given node type.
(Inherited from LGSPGraph.) |
![]() | 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 LGSPGraph.) |
![]() | HasSameStructure(IGraph) |
Returns whether this graph is isomorph to that graph, neglecting the attribute values, only structurally
The other graph we check for isomorphy against, neglecting attribute values (Inherited from LGSPGraph.)Return ValueType:true if that is isomorph (regarding structure) to this, false otherwise |
![]() | HasSameStructure(IDictionaryIGraph, SetValueType) |
Returns whether this graph is isomorph to any of the set of graphs given, neglecting the attribute values, only structurally
Don't call from a parallelized matcher!
(Inherited from LGSPGraph.) |
![]() | IsInternallyVisited(IGraphElement) |
Returns whether the given graph element has been internally visited.
(Used for computing reachability.)
(Inherited from LGSPGraph.) |
![]() | 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 LGSPGraph.) |
![]() | IsIsomorph(IGraph) |
Returns whether this graph is isomorph 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 LGSPGraph.) |
![]() | IsIsomorph(IDictionaryIGraph, SetValueType) |
Returns whether this graph is isomorph 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 LGSPGraph.) |
![]() | IsVisited |
Returns whether the given graph element has been visited.
(Inherited from LGSPGraph.) |
![]() | Merge(INode, INode) | |
![]() | 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 LGSPGraph.) |
![]() | Merge(LGSPNode, LGSPNode, 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 LGSPGraph.) |
![]() | MoveHeadAfter(LGSPEdge) |
Moves the type list head of the given edge after the given edge.
Part of the "list trick".
(Inherited from LGSPGraph.) |
![]() | MoveHeadAfter(LGSPNode) |
Moves the type list head of the given node after the given node.
Part of the "list trick".
(Inherited from LGSPGraph.) |
![]() | NodeAdded |
Fires an OnNodeAdded event.
(Inherited from BaseGraph.) |
![]() | ObjectCreated |
Fires an OnObjectCreated event.
(Inherited from BaseGraph.) |
![]() | ReallocateVisitedFlag |
Called by the transaction manager on flags it reserved from getting handed out again during valloc,
when the transaction is rolled back, and the vfree is undone by a realloc.
(Inherited from LGSPGraph.) |
![]() | RedirectingEdge |
Fires an OnRedirectingEdge event.
(Inherited from BaseGraph.) |
![]() | RedirectSource(IEdge, INode) | |
![]() | RedirectSource(IEdge, INode, String) |
Changes the source node of the edge from the old source to the given new source.
(Inherited from LGSPGraph.) |
![]() | RedirectSource(LGSPEdge, LGSPNode, String) |
Changes the source node of the edge from the old source to the given new source.
(Inherited from LGSPGraph.) |
![]() | RedirectSourceAndTarget(IEdge, INode, INode) | |
![]() | 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 LGSPGraph.) |
![]() | RedirectSourceAndTarget(LGSPEdge, LGSPNode, LGSPNode, 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 LGSPGraph.) |
![]() | RedirectTarget(IEdge, INode) | |
![]() | RedirectTarget(IEdge, INode, String) |
Changes the target node of the edge from the old target to the given new target.
(Inherited from LGSPGraph.) |
![]() | RedirectTarget(LGSPEdge, LGSPNode, String) |
Changes the target node of the edge from the old target to the given new target.
(Inherited from LGSPGraph.) |
![]() | Remove(IEdge) | (Overrides LGSPGraphRemove(IEdge).) |
![]() | Remove(INode) | (Overrides LGSPGraphRemove(INode).) |
![]() | RemoveEdges |
Removes all edges from the given node.
(Inherited from LGSPGraph.) |
![]() | RemovingEdge |
Fires an OnRemovingEdge event.
(Inherited from BaseGraph.) |
![]() | RemovingEdges |
Fires an OnRemovingEdges event.
(Inherited from BaseGraph.) |
![]() | RemovingNode |
Fires an OnRemovingNode event.
(Inherited from BaseGraph.) |
![]() | ReplaceEdge |
Replaces a given edge by another one.
Source and target node are transferred to the new edge,
but the new edge must already have source and target set to these nodes.
The new edge is added to the graph, the old edge is removed.
A SettingEdgeType event is generated before.
The attributes are not touched.
This function is used for retyping.
(Inherited from LGSPGraph.) |
![]() | ReplaceNode |
Replaces a given node by another one.
All incident edges and variables are transferred to the new node.
The attributes are not touched.
This function is used for retyping.
(Inherited from LGSPGraph.) |
![]() | ReserveVisitedFlag |
Called by the transaction manager just when it gets notified about a vfree.
The visited flag freed must be reserved until the transaction finished,
cause otherwise it might be impossible for the transaction manager to roll the vfree back with a valloc;
that may happen if the flag is handed out again in a succeeding valloc, during a transaction pause.
(Inherited from LGSPGraph.) |
![]() | ResetVisitedFlag |
Resets the visited flag with the given ID on all graph elements, if necessary.
(Inherited from LGSPGraph.) |
![]() | Retype(IEdge, EdgeType) | (Inherited from LGSPGraph.) |
![]() | Retype(INode, NodeType) | (Inherited from LGSPGraph.) |
![]() | Retype(LGSPEdge, EdgeType) | (Overrides LGSPGraphRetype(LGSPEdge, EdgeType).) |
![]() | Retype(LGSPNode, NodeType) | (Overrides LGSPGraphRetype(LGSPNode, NodeType).) |
![]() | RetypingEdge |
Fires an OnRetypingEdge event.
(Inherited from BaseGraph.) |
![]() | RetypingNode |
Fires an OnRetypingNode event.
(Inherited from BaseGraph.) |
![]() | SetElementName | |
![]() | SetElementPrefixName | |
![]() | SetInternallyVisited(IGraphElement, Boolean) |
Sets the internal-use visited flag of the given graph element.
(Used for computing reachability.)
(Inherited from LGSPGraph.) |
![]() | 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 LGSPGraph.) |
![]() | SettingAddedEdgeNames | (Inherited from BaseGraph.) |
![]() | SettingAddedNodeNames | (Inherited from BaseGraph.) |
![]() | SettingVisited |
Fires an OnSettingVisited event.
(Inherited from BaseGraph.) |
![]() | SetVisited |
Sets the visited flag of the given graph element.
(Inherited from LGSPGraph.) |
![]() | ToString | (Overrides LGSPGraphToString.) |
![]() | UnreserveVisitedFlag |
Called by the transaction manager on flags it reserved from getting handed out again during valloc,
when the transaction finished and it is safe to return those flags again on valloc.
(Inherited from LGSPGraph.) |
![]() | Validate | (Inherited from BaseGraph.) |
![]() | VisitedAlloc |
Fires an OnVisitedAlloc event.
(Inherited from BaseGraph.) |
![]() | VisitedFree |
Fires an OnVisitedFree event.
(Inherited from BaseGraph.) |
Name | Description | |
---|---|---|
![]() | OnChangedEdgeAttribute | (Inherited from BaseGraph.) |
![]() | OnChangedNodeAttribute | (Inherited from BaseGraph.) |
![]() | OnChangingEdgeAttribute | (Inherited from BaseGraph.) |
![]() | OnChangingNodeAttribute | (Inherited from BaseGraph.) |
![]() | OnChangingObjectAttribute | (Inherited from BaseGraph.) |
![]() | OnClearingGraph | (Inherited from BaseGraph.) |
![]() | OnEdgeAdded | (Inherited from BaseGraph.) |
![]() | OnNodeAdded | (Inherited from BaseGraph.) |
![]() | OnObjectCreated | (Inherited from BaseGraph.) |
![]() | OnRedirectingEdge | (Inherited from BaseGraph.) |
![]() | OnRemovingEdge | (Inherited from BaseGraph.) |
![]() | OnRemovingEdges | (Inherited from BaseGraph.) |
![]() | OnRemovingNode | (Inherited from BaseGraph.) |
![]() | OnRetypingEdge | (Inherited from BaseGraph.) |
![]() | OnRetypingNode | (Inherited from BaseGraph.) |
![]() | OnSettingAddedEdgeNames | (Inherited from BaseGraph.) |
![]() | OnSettingAddedNodeNames | (Inherited from BaseGraph.) |
![]() | OnSettingVisited | (Inherited from BaseGraph.) |
![]() | OnVisitedAlloc | (Inherited from BaseGraph.) |
![]() | OnVisitedFree | (Inherited from BaseGraph.) |
Name | Description | |
---|---|---|
![]() | changesCounterAtLastAnalyze | (Inherited from LGSPGraph.) |
![]() | changesCounterAtLastCanonize | (Inherited from LGSPGraph.) |
![]() | customCommandsToDescriptions | (Inherited from LGSPGraph.) |
![]() | edgesByTypeCounts |
The number of edges for each edge type indexed by the type ID.
(Inherited from LGSPGraph.) |
![]() | edgesByTypeHeads |
An array containing one head of a doubly-linked ring-list for each edge type indexed by the type ID.
(Inherited from LGSPGraph.) |
![]() | flagsPerThreadPerElement |
a list which stores for each parallel matcher thread, per graph element the flags with the matching state
each flag encodes a bounded amount of the is-matched-bits for the lowest isomorphy spaces,
the flag is a reduced version of the flags bitvector available in each graph element in case of single threaded matching
(the unique id of the graph elements is used as index into the flags array)
(Inherited from LGSPGraph.) |
![]() | graphMatchingLock | (Inherited from LGSPGraph.) |
![]() | inIsoSpaceMatchedElements |
a list with the isomorphy spaces, each contains in a dictionary the elements matched locally
used in case the is-matched-bits in the graph elements are not sufficient (during non-parallel matching)
(Inherited from LGSPGraph.) |
![]() | inIsoSpaceMatchedElementsGlobal |
a list with the isomorphy spaces, each contains in a dictionary the elements matched globally
used in case the is-matched-bits in the graph elements are not sufficient (during non-parallel matching)
(Inherited from LGSPGraph.) |
![]() | matchingState |
Normally null, contains some data which allows for efficient graph comparison,
in case this is a constant graph which was used for isomorphy checking
(Inherited from LGSPGraph.) |
![]() | model | (Inherited from LGSPGraph.) |
![]() | nameOfSingleElementAdded | (Inherited from LGSPGraph.) |
![]() | nodesByTypeCounts |
The number of nodes for each node type indexed by the type ID.
(Inherited from LGSPGraph.) |
![]() | nodesByTypeHeads |
An array containing one head of a doubly-linked ring-list for each node type indexed by the type ID.
(Inherited from LGSPGraph.) |
![]() | perThreadInIsoSpaceMatchedElements |
a list which stores for each matcher thread the isomorphy spaces, each contains in a dictionary the elements matched locally
used in case the is-matched-bits in the per-thread flags array are not sufficient, employed during parallelized matching
the outermost list is read concurrently, so its dimension/content must be fixed before matching begins
(Inherited from LGSPGraph.) |
![]() | perThreadInIsoSpaceMatchedElementsGlobal |
a list which stores for each matcher thread the isomorphy spaces, each contains in a dictionary the elements matched globally
used in case the is-matched-bits in the per-thread flags array are not sufficient, employed during parallelized matching
the outermost list is read concurrently, so its dimension/content must be fixed before matching begins
(Inherited from LGSPGraph.) |
![]() | statistics |
Stores the statistics about the last analyze pass of the graph
(Inherited from LGSPGraph.) |