Click or drag to resize

TypedListDefinition Class

General definition class for a typedlist.
Inheritance Hierarchy
SystemObject
  SD.Tools.Algorithmia.GraphsGraphBaseEntityAlias, TypedListRelationshipEdge
    SD.Tools.Algorithmia.GraphsDirectedGraphEntityAlias, TypedListRelationshipEdge
      SD.LLBLGen.Pro.ApplicationCore.EntityModel.TypedListsTypedListDefinition

Namespace:  SD.LLBLGen.Pro.ApplicationCore.EntityModel.TypedLists
Assembly:  SD.LLBLGen.Pro.ApplicationCore (in SD.LLBLGen.Pro.ApplicationCore.dll) Version: 5.4.0.0 (5.4.0)
Syntax
[FilterPropertiesAttribute]
public class TypedListDefinition : DirectedGraph<EntityAlias, TypedListRelationshipEdge>, 
	IDataErrorInfo, IGroupableElement, INotifyPropertyChanged, INotifyAsChanged, ISerializableToXml, 
	IOutputSettingValuesTarget

The TypedListDefinition type exposes the following members.

Constructors
  NameDescription
Public methodTypedListDefinition
Initializes a new instance of the TypedListDefinition class.
Top
Properties
  NameDescription
Public propertyEdgeCount
Returns the number of edges in this graph. If this graph is a directed graph, it counts the edge A to B as an edge, but B to A, if not present, isn't counted. A non-directed graph has an edge between A and B but also between B and A. This is counted as 1 edge, not two.
(Inherited from GraphBaseTVertex, TEdge.)
Public propertyEdgeProducerFunc
Gets or sets the edge producer func which produces edges for this graph. Used in some algorithms which have to produce edges.
(Inherited from GraphBaseTVertex, TEdge.)
Public propertyEdges
Returns the edges in this graph. Enumerating this property will enumerate the inner structures of the graph, no copy is made. This requires a lock on SyncRoot if IsSynchronized is set to true to make sure enumeration of this property is thread safe.
(Inherited from GraphBaseTVertex, TEdge.)
Public propertyError
Gets an error message indicating what is wrong with this object.
Public propertyFieldCount
Gets the field count.
Public propertyFields
Gets the fields.
Public propertyFullName
Gets the full name (groupname.name, or if groupname is empty, just the name)
Public propertyFullNameForXml
Gets the full name for XML.
Public propertyGroupName
Gets or sets the name of the group.
Public propertyIsChanged
Gets or sets the flag to signal that this element has been changed.
Public propertyIsDirected
if true, the graph is directed and only EdgeBase instances which have IsDirected set to true are allowed, otherwise it's a non-directed graph and EdgeBase instances which have IsDirected set to false are accepted.
(Inherited from GraphBaseTVertex, TEdge.)
Public propertyIsSynchronized
Gets a value indicating whether access to the Vertices and Edges is synchronized (thread safe). Default: false. Set to true to in the ctor to make sure the operations on this object are using locks. Use SyncRoot to lock on the same object as this class' internal operations.
(Inherited from GraphBaseTVertex, TEdge.)
Public propertyItem
Gets the String with the specified column name.
Public propertyName
Gets or sets the name.
Public propertyOutputSettingValues
Gets the output setting values of this target.
Public propertyRemoveOrphanedVerticesOnEdgeRemoval
Gets or sets a value indicating whether vertices which are not part of any edge anymore are removed from the graph when the edge they're part of is removed from the graph (so they effectively are orphaned). Default is false.
(Inherited from GraphBaseTVertex, TEdge.)
Public propertyRoot
Gets the root of the typedlist. If the typedlist isn't connected, there's no root and null is returned. The root is the entity alias which is used to start the joins with. Returns null as well if the typedlist contains no entity aliases.
Protected propertySuppressEvents
Gets or sets a value indicating whether events are blocked from being raised (true) or not (false, default)
(Inherited from GraphBaseTVertex, TEdge.)
Public propertySyncRoot
Gets an object that can be used to synchronize access to the Vertices and Edges properties. It's the same object used in locks inside this object.
(Inherited from GraphBaseTVertex, TEdge.)
Public propertyTargetElementType
Gets the target element type of this target.
Public propertyVertexCount
Returns the number of vertices in this graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public propertyVertices
Returns the vertices in this graph. Enumerating this property will enumerate the inner structures of the graph, no copy is made. This requires a lock on SyncRoot if IsSynchronized is set to true to make sure enumeration of this property is thread safe.
(Inherited from GraphBaseTVertex, TEdge.)
Top
Methods
  NameDescription
Public methodAdd(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.)
Public methodAdd(TVertex)
Adds the provided vertex to this graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodAdd(GraphBaseTVertex, TEdge)
Adds all elements (i.e. vertices and edges) from the provided graph to this graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodAddEntity
Adds the entity.
Public methodAddEntityAlias
Adds the entity alias.
Public methodAddField
Adds the field.
Public methodClone
Clones this instance to a new typedlist (with deepclone) with the name and groupe specified.
Public methodContains(TEdge)
Determines whether this graph contains the edge object specified.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodContains(TVertex)
Returns whether a vertex exists in this graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodContainsEdge
Returns whether an edge exists in this graph between the start vertex and the end vertex specified.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodDisconnect
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.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFindFieldEqualToSpecifiedField
Finds the field equal to the specified field. The specified field is likely used in an editor of some sort and the real field inside this typedlist has to be found
Public methodGetAdditionalInterfaces
Gets the additional interfaces, if applicable, for this element, where the default interfaces are prefiltered with the ignored interfaces defined in this element. All interface macros are replaced with real names.
Public methodGetAdditionalNamespaces
Gets the additional namespaces, if applicable, for this element, where the default namespaces are prefiltered with the ignored namespaces defined in this element. All namespace macros are replaced with real names.
Public methodGetAdjacencyListForVertex
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.)
Public methodGetAllContainedEntityDefinitions
Gets all contained entity definitions in this typed list.
Public methodGetAllNullableEntityAliasesInSourceSet
Gets all nullable entity aliases in source set. The result is a set of 0 or more entityaliases which are on the nullable side of a left/right join relationship in this typedlist. All fields in the projection which are from these entityaliases have to be emitted as a nullable type in the resulting class.
Public methodGetAllPotentialTypedListFields
Gets all potential typed list fields.
Public methodGetAllRelationshipsForQueryConstruction
Gets all typed list relationships for query construction. The relationships returned are ordered per 'level' of the tree the typedlist represents, starting with the root. If the typedlist is disconnected, all edges are returned in the order in which they appear. The relationships are ordered per level in the order: Right joins, left joins, inner joins, to give predictive query construction output.
Public methodGetAlternativeConnectingEdgesForEntityAlias
Gets the alternative connecting edges for entity alias to connect the specified alias to the rest of the typedlist aliases. Every entityalias has to be connected to at least 1 other entity alias element unless the typedlist consists of just 1 entityalias.
Public methodGetAsNonDirectedCopy
Creates a NonDirectedGraph version of this graph. Always creates a copy, even if this graph is a non-directed graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetAttributes
Gets the attributes, if applicable, for this element, where the default attributes are prefiltered with the ignored attributes defined in this element. All name macros and $length/$precision/$scale macros are replaced with real values. (if applicable)
Public methodGetEdges
Gets all the edges between startVertex and endVertex.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetEdgesFromStartVertex
Gets all the edges started from the startvertex specified.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetEdgesSyncedAsList
Gets the edges as list, and perform this operation synced with the SyncRoot, to avoid threading issues.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetEdgesToEndVertex
Gets all the edges which end in the endVertex specified.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetOrphanedVertices
Gets the orphaned vertices. Orphaned vertices are vertices which are not part of any edge in the graph
(Inherited from GraphBaseTVertex, TEdge.)
Public methodGetRealStringSettingValueWithMacrosResolved
Gets the real setting value of the setting with the name specified as string. Also resolves any macros defined in the value (if any) to real values.
Public methodGetSubGraphTGraph
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.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetVerticesSyncedAsList
Gets the vertices as list, and perform this operation synced with the SyncRoot, to avoid threading issues.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodIsConnected
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.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodMoveFieldInFieldList
Moves the field in field list.
Protected methodOnEdgeAdded
Called when an edge has been added
(Overrides GraphBaseTVertex, TEdgeOnEdgeAdded(TEdge).)
Protected methodOnEdgeAdding
Called when an edge is about to be added
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodOnEdgeRemoved
Called when an edge has been removed
(Overrides GraphBaseTVertex, TEdgeOnEdgeRemoved(TEdge).)
Protected methodOnEdgeRemoving
Called when an edge is about to be removed
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodOnVertexAdded
Called when a vertex has been added
(Overrides GraphBaseTVertex, TEdgeOnVertexAdded(TVertex).)
Protected methodOnVertexAdding
Called when a vertex is about to be added
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodOnVertexRemoved
Called when a vertex has been removed
(Overrides GraphBaseTVertex, TEdgeOnVertexRemoved(TVertex).)
Protected methodOnVertexRemoving
Called when a vertex is about to be removed
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodPerformSyncedAction(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.)
Protected methodPerformSyncedActionT(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.)
Public methodRemove(TEdge)
Removes the provided edge from the graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodRemove(TVertex)
Removes a vertex from this graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodRemove(GraphBaseTVertex, TEdge)
Removes all elements (i.e. vertices and edges) of the provided graph from this graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodRemove(GraphBaseTVertex, TEdge, Boolean)
Removes all elements (i.e. vertices and/or edges) of the provided graph from this graph.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodRemoveField
Removes the field.
Public methodSerializeToWriter
Serializes the data in this class to the serializer passed in
Public methodSetAlternativeConnectionRelationshipForEntityAlias
Sets the alternative connection relationship for the entity alias specified. It removes an existing connection relationship, if present and also the existing relationship between the two vertices in the alternative, if present.
Public methodToString
Returns a String that represents the current Object.
(Inherited from GraphBaseTVertex, TEdge.)
Public methodTransitiveClosure
Returns the transitive closure of this graph using the Floyd-Warshall algorithm. See http://en.wikipedia.org/wiki/Transitive_closure and http://en.wikipedia.org/wiki/Floyd-Warshall_algorithm.
(Inherited from DirectedGraphTVertex, TEdge.)
Protected methodValidateEdgeForAddition
Validates if the edge passed in is addable to 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.)
Protected methodValidateEdgeForRemoval
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.)
Protected methodValidateVertexForAddition
Validates if the vertex passed in is addable to this graph structure.
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodValidateVertexForRemoval
Validates if the vertex passed in is removable from this graph structure.
(Inherited from GraphBaseTVertex, TEdge.)
Protected methodValidateVertexFromRemovalFromAdjacencyList
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.)
Top
Events
  NameDescription
Public eventEdgeAdded
Event which is raised when an edge has been added
(Inherited from GraphBaseTVertex, TEdge.)
Public eventEdgeAdding
Event which is raised when an edge is about to be added
(Inherited from GraphBaseTVertex, TEdge.)
Public eventEdgeRemoved
Event which is raised when an edge has been removed
(Inherited from GraphBaseTVertex, TEdge.)
Public eventEdgeRemoving
Event which is raised when an edge is about to be removed
(Inherited from GraphBaseTVertex, TEdge.)
Public eventHasBeenChanged
Raised when the implementing element has been changed
Public eventPropertyChanged
Occurs when a property value changes. (INotifyPropertyChanged)
Public eventTypedListChanged
Event which is raised when the definition of this typedlist has been changed. What has changed is enclosed inside the event args.
Public eventVertexAdded
Event which is raised when a vertex has been added
(Inherited from GraphBaseTVertex, TEdge.)
Public eventVertexAdding
Event which is raised when a vertex is about to be added.
(Inherited from GraphBaseTVertex, TEdge.)
Public eventVertexRemoved
Event which is raised when a vertex has been removed
(Inherited from GraphBaseTVertex, TEdge.)
Public eventVertexRemoving
Event which is raised when a vertex is about to be removed
(Inherited from GraphBaseTVertex, TEdge.)
Top
Explicit Interface Implementations
See Also