![]() | LGSPEdge Class |
Namespace: de.unika.ipd.grGen.lgsp
public abstract class LGSPEdge : IEdge, IGraphElement, IAttributeBearer, ITyped, IDeepEqualityComparer, ICallable
The LGSPEdge type exposes the following members.
Name | Description | |
---|---|---|
![]() | Item |
Indexer that gives access to the attributes of the graph element.
|
![]() | ReplacedByEdge |
The edge which replaced this edge (Valid is false in this case)
or null, if this edge has not been replaced or is still a valid member of a graph.
|
![]() | ReplacedByElement |
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.
|
![]() | Source |
The source node of the edge.
|
![]() | Target |
The target node of the edge.
|
![]() | Type |
The EdgeType of the edge.
|
![]() | Valid |
This is true, if this edge is a valid graph element, i.e. it is part of a graph.
|
Name | Description | |
---|---|---|
![]() | ApplyFunctionMethod |
Executes the function method given by its name.
Throws an exception if the method does not exists or the parameters are of wrong types.
|
![]() | ApplyProcedureMethod |
Executes the procedure method given by its name.
Throws an exception if the method does not exists or the parameters are of wrong types.
|
![]() | Clone |
Creates a shallow clone of this edge.
All attributes will be transfered to the new edge.
The edge will not be associated to a graph, yet.
So it will not have any assigned variables.
|
![]() | Copy |
Creates a deep copy of this edge (i.e. (transient) class objects will be replicated).
All attributes will be transfered to the new edge.
The edge will not be associated to a graph, yet.
So it will not have any assigned variables.
|
![]() | GetAttribute |
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.
|
![]() | InstanceOf |
Returns true, if the typed object is compatible to the given type.
|
![]() | IsDeeplyEqual |
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.
|
![]() | Opposite |
Retrieves the other incident node of this edge.
|
![]() | Recycle |
Recycles this edge. This may pool the edge or just ignore it.
|
![]() | ResetAllAttributes |
Resets all graph element attributes to their initial values.
|
![]() | SetAttribute |
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.
|
![]() | SetSourceAndTarget |
Sets source and target to the LGSPEdge object instantiated before with source and target being null.
|
![]() | ToString |
Returns the name of the type of this edge.
(Overrides ObjectToString.) |
Name | Description | |
---|---|---|
![]() | lgspFlags |
contains some booleans coded as bitvector
|
![]() | lgspInNext |
next edge in the incoming list of the target node containing all of its incoming edges
|
![]() | lgspInPrev |
previous edge in the incoming list of the target node containing all of its incoming edges
|
![]() | lgspOutNext |
next edge in the outgoing list of the source node containing all of its outgoing edges
|
![]() | lgspOutPrev |
previous edge in the outgoing list of the source node containing all of its outgoing edges
|
![]() | lgspSource |
source node of this edge
|
![]() | lgspTarget |
target node of this edge
|
![]() | lgspType |
The EdgeType of the edge.
|
![]() | lgspTypeNext |
Next edge in the list containing all the edges of one type.
See comment for lgspTypePrev (this edge has been retyped if typeNext is not null but typePrev is null).
|
![]() | lgspTypePrev |
Previous edge in the list containing all the edges of one type.
The edge is not part of a graph, iff typePrev is null.
If typePrev is null and typeNext is not null, this edge has been retyped and typeNext
points to the new edge.
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".
|