Click or drag to resize

LGSPNode Class

Class implementing nodes in the libGr search plan backend
Inheritance Hierarchy

Namespace:  de.unika.ipd.grGen.lgsp
Assembly:  lgspBackend (in lgspBackend.dll) Version: GrGen.NET 7.2
Syntax
C#
public abstract class LGSPNode : INode, 
	IGraphElement, IAttributeBearer, ITyped, IDeepEqualityComparer, ICallable

The LGSPNode type exposes the following members.

Constructors
  NameDescription
Protected methodLGSPNode
Instantiates an LGSPNode object.
Top
Properties
  NameDescription
Public propertyIncident
Returns an IEnumerable<IEdge> over all incident edges
Public propertyIncoming
Returns an IEnumerable<IEdge> over all incoming edges
Public propertyItem
Indexer that gives access to the attributes of the graph element.
Public propertyOutgoing
Returns an IEnumerable<IEdge> over all outgoing edges
Public propertyReplacedByElement
The element which replaced this element (Valid is false in this case) or null, if this element has not been replaced or is still a valid member of a graph.
Public propertyReplacedByNode
The node which replaced this node (Valid is false in this case) or null, if this node has not been replaced or is still a valid member of a graph.
Public propertyType
The NodeType of the node.
Public propertyValid
This is true, if this node is a valid graph element, i.e. it is part of a graph.
Top
Methods
  NameDescription
Public methodApplyFunctionMethod
Executes the function method given by its name. Throws an exception if the method does not exists or the parameters are of wrong types.
Public methodApplyProcedureMethod
Executes the procedure method given by its name. Throws an exception if the method does not exists or the parameters are of wrong types.
Public methodClone
Creates a shallow clone of this node. All attributes will be transfered to the new node. The node will not be associated to a graph, yet. So it will not have any incident edges nor any assigned variables.
Public methodCopy
Creates a deep copy of this node (i.e. (transient) class objects will be replicated). All attributes will be transfered to the new node. The node will not be associated to a graph, yet. So it will not have any incident edges nor any assigned variables.
Public methodGetAttribute
Returns the graph element attribute with the given attribute name. If the graph element type doesn't have an attribute with this name, a NullReferenceException is thrown.
Public methodGetCompatibleIncident
Returns an IEnumerable<IEdge> over all incident edges with the same type or a subtype of the given type
Public methodGetCompatibleIncoming
Returns an IEnumerable<IEdge> over all incoming edges with the same type or a subtype of the given type
Public methodGetCompatibleOutgoing
Returns an IEnumerable<IEdge> over all outgoing edges with the same type or a subtype of the given type
Public methodGetExactIncident
Returns an IEnumerable<IEdge> over all incident edges with exactly the given type
Public methodGetExactIncoming
Returns an IEnumerable<IEdge> over all incoming edges with exactly the given type
Public methodGetExactOutgoing
Returns an IEnumerable<IEdge> over all outgoing edges with exactly the given type
Public methodInstanceOf
Returns true, if the typed object is compatible to the given type.
Public methodIsDeeplyEqual
Returns whether this and that are deeply equal, which means the scalar attributes are equal, the container attributes are memberwise deeply equal, and object attributes are deeply equal. (If types are unequal the result is false.) Visited objects are/have to be stored in the visited objects dictionary in order to detect shortcuts and cycles.
Public methodMoveInHeadAfter
Moves the head of the incoming list after the given edge. Part of the "list trick".
Public methodMoveOutHeadAfter
Moves the head of the outgoing list after the given edge. Part of the "list trick".
Public methodRecycle
Recycles this node. This may pool the node or just ignore it.
Public methodResetAllAttributes
Resets all graph element attributes to their initial values.
Public methodSetAttribute
Sets the graph element attribute with the given attribute name to the given value. If the graph element type doesn't have an attribute with this name, a NullReferenceException is thrown.
Public methodToString
Returns the name of the type of this node.
(Overrides ObjectToString.)
Top
Fields
  NameDescription
Public fieldlgspFlags
contains some booleans coded as bitvector
Public fieldlgspInhead
Entry node into the incoming edges list - not of type edge head, real edge or null
Public fieldlgspOuthead
Entry node into the outgoing edges list - not of type edge head, real edge or null
Public fieldlgspType
The node type of the node.
Public fieldlgspTypeNext
Next node in the list containing all the nodes of one type. See comment for lgspTypePrev (this node has been retyped if typeNext is not null but typePrev is null).
Public fieldlgspTypePrev
Previous node in the list containing all the nodes of one type. The node is not part of a graph, iff typePrev is null. If typePrev is null and typeNext is not null, this node has been retyped and typeNext points to the new node. These special cases are neccessary to handle the following situations: "delete node + return edge", "hom + delete + return", "hom + retype + return", "hom + retype + delete", "hom + retype + delete + return".
Top
See Also