GraphNode Class

Represents a node in the directed graph

Inheritance Hierarchy

Object
  Microsoft.VisualStudio.GraphModel.GraphObject
    Microsoft.VisualStudio.GraphModel.GraphNode

Namespace:  Microsoft.VisualStudio.GraphModel
Assembly:  Microsoft.VisualStudio.GraphModel (in Microsoft.VisualStudio.GraphModel.dll)

Syntax

'Declaration
Public Class GraphNode _
    Inherits GraphObject
public class GraphNode : GraphObject
public ref class GraphNode : public GraphObject
type GraphNode =  
    class 
        inherit GraphObject 
    end
public class GraphNode extends GraphObject

The GraphNode type exposes the following members.

Properties

  Name Description
Public property AllLinks Get the list of all links (incoming and outgoing).
Public property Categories Returns all categories. Never returns null. (Inherited from GraphObject.)
Public property CategoryCount Returns the number of categories in the object. (Inherited from GraphObject.)
Public property DescriptiveCategoryLabel Creates a delimited list of all category labels for this graph object. (Inherited from GraphObject.)
Public property DocumentSchema Gets the document-local schema from the owner of this graph. (Inherited from GraphObject.)
Public property HasParentGroups Return true if this node is contained in one or more GraphGroups.
Public property Id Unique identifier for the node
Public property IncomingLinkCount Returns the count of incoming links
Public property IncomingLinks Enumerable of incoming links. The order of the enumeration is random.
Public property IsContained Returns true if the node is contained by any other node.
Public property IsContainer Returns true if the node is a container of any other node.
Public property IsGroup Gets whether this object is IsGroup. It looks for the GraphProperties.StyleForGroup. (Inherited from GraphObject.)
Public property IsPseudo Gets whether this object is Pseudo. It looks for the GraphProperties.IsPseudo. (Inherited from GraphObject.)
Public property Item Property that gets or sets a property value. (Inherited from GraphObject.)
Public property Label Displayable label for the node. If no label is defined, this returns the Id so we always have something to display to the user.
Public property LinkCount Returns the count of outgoing and incoming links
Public property OutgoingLinkCount Returns the count of outgoing links
Public property OutgoingLinks Enumerable of outgoing links. The order of the enumeration is random.
Public property Owner Gets the Graph object that this object belongs to. (Inherited from GraphObject.)
Public property ParentGroups Return all the GraphGroups that have this node listed in their ChildNodes collection (or ChildGroups collection if this node has IsGroup=true).
Public property Properties Property that returns an enumeration of all annotations. The order of the enumeration is random. (Inherited from GraphObject.)
Public property PropertyCount Property that returns a number of all annotations. (Inherited from GraphObject.)
Public property PropertyKeys Property that returns an enumeration of all annotation keys. The order of the enumeration is random. (Inherited from GraphObject.)
Public property PropertyValues Property that returns an enumeration of all annotation values. The order of the enumeration is random. (Inherited from GraphObject.)
Public property Visibility Helper property to get/set visibility property of a GraphObject. (Inherited from GraphObject.)

Top

Methods

  Name Description
Public method AddCategory Adds a category to the object. (Inherited from GraphObject.)
Public method AsNode Converts the GraphObject to a GraphNode. If this is a GraphGroup, the inner node is returned. For types other than GraphNode/Group, null is returned. (Inherited from GraphObject.)
Public method ClearCategories Remove all categories from this object. (Inherited from GraphObject.)
Public method ClearValue(GraphProperty) Removes the value of the specified property. (Inherited from GraphObject.)
Public method Copy(String) Clones a Node, including all properties, and clones new Links from the original Node's Links
Public method Copy(GraphNodeId) Clones a Node, including all properties, and clones new Links from the original Node's Links
Public method CopyCategories Copies any new categories from the given object, keeping existing categories. (Inherited from GraphObject.)
Public method CopyProperties Copies any new properties from the given object, keeping existing property values unchanged. (Inherited from GraphObject.)
Public method Equals Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method FindAncestorGroups Returns the list of all ancestor groups that contain this node. This differs from FindAncestors because it only returns nodes that have IsGroup=true.
Public method FindAncestors Walks recursively up all ancestors of this node and returns the unique set.
Public method FindDescendants Walk down the containment links of this node and all its descendants and return the unique set.
Public method FindFirstRelatedNode Finds the first node that matches the acceptNode predicate that is also related to this node according to the traverseLink and traverseNode predicates. It is found by doing a breadth first search along links matching the traverseLink predicate, in the To or From direction designated by the searchDirection parameter. Returns null if it does not exist.
Public method FindRelatedContainmentNodes(GraphSearchDirection) Get related nodes that have a containment relationship to this node
Public method FindRelatedContainmentNodes(GraphSearchDirection, GraphSearchOption, array<GraphCategory[]) Get related nodes that have a containment relationship to this node
Public method FindRelatedNodes Finds the dgml nodes that matches the acceptNode predicate and are related in a way that matches the traverseLink and traverseNode predicates. They are found by doing a breadth first search along links matching the traverseLink predicate, in the Source or Target direction designated by the searchDirection parameter. Then if the node matches the traverseNode predicate it keeps searching recurrsively through that node in the same direction and returns all nodes that match the acceptNode predicate. The search can handle circularity in the graph.
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetMetaObject (Inherited from GraphObject.)
Protected method GetSchemaValue Gets the schema-specific value of the property, if one exists. (Inherited from GraphObject.)
Public method GetSources Gets the sources linked with this node via a link that matches at least 1 of the specified link categories.
Public method GetTargets Gets the targets linked with this node via a link that matches at least 1 of the specified link categories.
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method GetValue(String) Gets the value of the specified property. (Inherited from GraphObject.)
Public method GetValue(GraphProperty) Gets the value of the specified annotation. (Inherited from GraphObject.)
Public method GetValue<T>(GraphProperty, Graph) Gets the value of the specified property. (Inherited from GraphObject.)
Public method GetValue<T>(GraphProperty, T) Gets the value of the specified annotation. If property is not set, we return the default value that the caller passed to this method. (Inherited from GraphObject.)
Public method GetValue<T>(GraphProperty, Graph, GraphCategory%) Gets the value of the specified property, and also returns the category that this property value was inherited from, if any. (Inherited from GraphObject.)
Public method GetValueAsString Returns the given property as a string that uses the given culture. (Inherited from GraphObject.)
Public method HasCategory(String) Returns true if the object has the given category. (Inherited from GraphObject.)
Public method HasCategory(GraphCategory) Returns true if the object has the given category. (Inherited from GraphObject.)
Public method HasCategory(IEnumerable<GraphCategory>) Returns true if the object has any of the given categories. (Inherited from GraphObject.)
Public method HasCategoryInSet Determines whether the given set of categories applies to this object. (Inherited from GraphObject.)
Public method HasLocalValue Returns true if the specified property exists on this object with no category inheritance check. (Inherited from GraphObject.)
Public method HasParentGroup For internal book keeping only.
Public method HasValue(String) Find out whether the object has a value for the specified property. (Inherited from GraphObject.)
Public method HasValue(GraphProperty) Returns true if the specified annotation exists. (Inherited from GraphObject.)
Public method IsContainedBy True if the group is an ancestor of this node.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnCategoryChanged (Inherited from GraphObject.)
Public method OnPropertyChanged(String) Override that notifies the GraphGroupCollection whenever the IsGroup property has changed on this node. This has to be synchronous so that GraphGroup is immediately available after this operation in the same transaction. (Overrides GraphObject.OnPropertyChanged(String).)
Public method OnPropertyChanged(GraphProperty) Raises a PropertyChangd event for the given GraphProperty. (Inherited from GraphObject.)
Public method Remove Remove this node from the graph
Public method RemoveCategory Removes the category of this object. (Inherited from GraphObject.)
Public method SetValue(String, Object) Adds an annotation, using the given key, type, and value. (Inherited from GraphObject.)
Public method SetValue<T>(GraphProperty, T) Sets the value of the given property. If the property already exists, its value is overwritten unless the annotation flags prevent otherwise. (Inherited from GraphObject.)
Public method ToString A more human friendly default string representation of a Node object (Overrides Object.ToString.)
Protected method WrapGraphObject Modifies the current graph object to share the same property and categories as the given graph object. The wrapper and wrappee graph objects will always have identical sets of properties and categories. (Inherited from GraphObject.)

Top

Events

  Name Description
Public event CategoryChanged (Inherited from GraphObject.)
Public event PropertyChanged (Inherited from GraphObject.)

Top

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.VisualStudio.GraphModel Namespace