InheritanceHierarchiesGraph Methods |
The InheritanceHierarchiesGraph type exposes the following members.
Name | Description | |
---|---|---|
Add(TEdge) |
Adds the provided edge to this graph. If the vertex(s) are not yet in this graph, it/they are added as well.
(Inherited from GraphBaseTVertex, TEdge.) | |
Add(TVertex) |
Adds the provided vertex to this graph.
(Inherited from GraphBaseTVertex, TEdge.) | |
Add(GraphBaseTVertex, TEdge) |
Adds all elements (i.e. vertices and edges) from the provided graph to this graph.
(Inherited from GraphBaseTVertex, TEdge.) | |
Contains(TEdge) |
Determines whether this graph contains the edge object specified.
(Inherited from GraphBaseTVertex, TEdge.) | |
Contains(TVertex) |
Returns whether a vertex exists in this graph.
(Inherited from GraphBaseTVertex, TEdge.) | |
ContainsEdge |
Returns whether an edge exists in this graph between the start vertex and the end vertex specified.
(Inherited from GraphBaseTVertex, TEdge.) | |
DeserializeFromReader |
Deserializes from reader.
| |
Disconnect |
Removes all edges from this graph between startVertex and endVertex. It will only remove edges between startVertex and endVertex, not between endVertex and startVertex,
unless bothSides is set to true, then all edges between both vertices are removed, discarding their direction.
(Inherited from GraphBaseTVertex, TEdge.) | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetAdjacencyListForVertex |
Gets the adjacency list for vertex. The adjacency list is a list of TVertex - Hashset(Of TEdge) tuples, as a vertex can have multiple edges with the same
related vertex.
(Inherited from GraphBaseTVertex, TEdge.) | |
GetAllEntitiesOnPathToHierarchyRoot |
Gets all entities on the path from the subtype to the hierarchy root.
| |
GetAllNamesInUseByOwnedElementsInCompleteHierarchy |
Gets all names in use by owned elements of the element specified (names in use by fields, fk fields, navigators, etc.) in the complete hierarchy
the element is in (if applicable).
| |
GetAllSubtypesForEntity |
Gets all subtypes (direct and indirect) for entity.
| |
GetAllSubtypesInSubHierarchyForEntity |
Gets all sub types in sub hierarchy for entity. A sub-hierarchy is a hierarchy inside a full inheritance hierarchy which share the same inheritance type
and all vertices are directly connected.
| |
GetAllSuperTypesForEntities |
Gets all distinct super types for the entities specified
| |
GetAsNonDirectedCopy |
Creates a NonDirectedGraph version of this graph. Always creates a copy, even if this graph is a non-directed graph.
(Inherited from GraphBaseTVertex, TEdge.) | |
GetDirectSubtypesForEntity |
Gets all the direct subtypes for the entity specified.
| |
GetEdges |
Gets all the edges between startVertex and endVertex.
(Inherited from GraphBaseTVertex, TEdge.) | |
GetEdgesFromStartVertex |
Gets all the edges started from the startvertex specified.
(Inherited from GraphBaseTVertex, TEdge.) | |
GetEdgesSyncedAsList |
Gets the edges as list, and perform this operation synced with the SyncRoot, to avoid threading issues.
(Inherited from GraphBaseTVertex, TEdge.) | |
GetEdgesToEndVertex |
Gets all the edges which end in the endVertex specified.
(Inherited from GraphBaseTVertex, TEdge.) | |
GetFullHierarchyOfEntity |
Gets the full hierarchy the entity passed in is in
| |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetOrphanedVertices |
Gets the orphaned vertices. Orphaned vertices are vertices which are not part of any edge in the graph
(Inherited from GraphBaseTVertex, TEdge.) | |
GetSubGraphTGraph |
Gets a subgraph from this graph with the vertices and edges which match the functions specified. It creates a new instance and
places the same vertex and edge instances in that graph.
(Inherited from GraphBaseTVertex, TEdge.) | |
GetSubHierarchyForEntity |
Gets the sub hierarchy the passed in entity is in.
| |
GetSupertypeForEntity |
Gets the supertype for entity, if the entity is in an inheritance hierarchy
| |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
GetVerticesSyncedAsList |
Gets the vertices as list, and perform this operation synced with the SyncRoot, to avoid threading issues.
(Inherited from GraphBaseTVertex, TEdge.) | |
IsConnected |
A graph is called connected if every pair of distinct vertices in the graph is connected (directly or indirectly).
A connected component is a maximal connected subgraph of G. Each vertex belongs to exactly one connected component, as does each edge.
A directed graph is called weakly connected if replacing all of its directed edges with undirected edges produces a connected (undirected) graph.
It is strongly connected or strong if it contains a directed path from u to v and a directed path from v to u for every pair of vertices u,v.
The strong components are the maximal strongly connected subgraphs.
See http://en.wikipedia.org/wiki/Connectivity_(graph_theory)
We will only check for a connected un-directed graph or a weakly connected directed graph (same logic).
(Inherited from GraphBaseTVertex, TEdge.) | |
IsHierarchyRoot |
Determines whether the passed in entity is a hierarchy root for an inheritance hierarchy
| |
IsInInheritanceHierarchy |
Determines whether the passed in entity is part of an inheritance hierarchy or not
| |
IsSubType |
Determines whether the entity passed in is a subtype.
| |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
OnEdgeAdded |
Called when an edge has been added
(Overrides GraphBaseTVertex, TEdgeOnEdgeAdded(TEdge).) | |
OnEdgeAdding |
Called when an edge is about to be added
(Inherited from GraphBaseTVertex, TEdge.) | |
OnEdgeRemoved |
Called when an edge has been removed
(Overrides GraphBaseTVertex, TEdgeOnEdgeRemoved(TEdge).) | |
OnEdgeRemoving |
Called when an edge is about to be removed
(Inherited from GraphBaseTVertex, TEdge.) | |
OnVertexAdded |
Called when a vertex has been added
(Overrides GraphBaseTVertex, TEdgeOnVertexAdded(TVertex).) | |
OnVertexAdding |
Called when a vertex is about to be added
(Inherited from GraphBaseTVertex, TEdge.) | |
OnVertexRemoved |
Called when a vertex has been removed
(Overrides GraphBaseTVertex, TEdgeOnVertexRemoved(TVertex).) | |
OnVertexRemoving |
Called when a vertex is about to be removed
(Inherited from GraphBaseTVertex, TEdge.) | |
PerformSyncedAction(Action) |
Performs the specified action, either inside a lock on SyncRoot if this graph is Synchronized, or normally, if the graph isn't synchronized.
(Inherited from GraphBaseTVertex, TEdge.) | |
PerformSyncedActionT(FuncT) |
Performs the specified action, either inside a lock on SyncRoot if this graph is Synchronized, or normally, if the graph isn't synchronized.
(Inherited from GraphBaseTVertex, TEdge.) | |
Remove(TEdge) |
Removes the provided edge from the graph.
(Inherited from GraphBaseTVertex, TEdge.) | |
Remove(TVertex) |
Removes a vertex from this graph.
(Inherited from GraphBaseTVertex, TEdge.) | |
Remove(GraphBaseTVertex, TEdge) |
Removes all elements (i.e. vertices and edges) of the provided graph from this graph.
(Inherited from GraphBaseTVertex, TEdge.) | |
Remove(GraphBaseTVertex, TEdge, Boolean) |
Removes all elements (i.e. vertices and/or edges) of the provided graph from this graph.
(Inherited from GraphBaseTVertex, TEdge.) | |
SerializeToWriter |
Serializes the data in this class to the serializer passed in
| |
ToggleIsAbstractFlag |
Toggles the IsAbstract flag on the entity passed in, if the entity is in an inheritance hierarchy
| |
ToString | (Inherited from GraphBaseTVertex, TEdge.) | |
TransitiveClosure |
Returns the transitive closure of this graph. The particular implementation of this graph uses the knowledge that all edges point to the
same direction. this means that the # of operations is drastically reduced.
(Overrides DirectedGraphTVertex, TEdgeTransitiveClosure.) | |
ValidateEdgeForAddition |
Validates if the edge passed in is addable to this graph structure. The start node and the end node for the are given as well. The same edge
is present between startVertex and endVertex and also between endVertex and startVertex if the graph is a nondirected graph, hence the necessity of these two
nodes in this routine
(Overrides GraphBaseTVertex, TEdgeValidateEdgeForAddition(TEdge, TVertex, TVertex).) | |
ValidateEdgeForRemoval |
Validates if the edge passed in is removable from this graph structure. The start vertex and the end vertex for the are given as well. The same edge
is present between startVertex and endVertex and also between endVertex and startVertex if the graph is a nondirected graph, hence the necessity of these two
vertices in this routine
(Inherited from GraphBaseTVertex, TEdge.) | |
ValidateVertexForAddition |
Validates if the vertex passed in is addable to this graph structure.
(Inherited from GraphBaseTVertex, TEdge.) | |
ValidateVertexForRemoval |
Validates if the vertex passed in is removable from this graph structure.
(Inherited from GraphBaseTVertex, TEdge.) | |
ValidateVertexFromRemovalFromAdjacencyList |
Validates if the vertexToRemove passed in is removable from the adjacency list of the vertex vertex. Removing the vertex means all edges from vertex to
vertexToRemove are physically removed from the graph structure.
(Inherited from GraphBaseTVertex, TEdge.) |