Class AstMetadataModelNode
A metadata model defines all configuration necessary for an end-user to specify and validate metadata that will be used by downstream BimlScripts to automatically generate assets.
public class AstMetadataModelNode : AstMetadataBaseNode, IBindableItem, IGetJsonProvider, INamedNode, IScopeBoundary, IReferenceableItem, INamedItem, IMetadataModelPropertyProvider, IFrameworkItem, IValidationInfo, IDynamicObjectProvider
- Inheritance
-
System.ObjectAstMetadataModelNode
Varigence.Utility.Collections.IVulcanCollectionParent, Varigence.Utility.ComponentModel.IVulcanNotifyPropertyChanged, Varigence.Utility.ComponentModel.IPropertyChangeNotificationTarget, Varigence.Utility.Collections.IScopedNameIndexable, IMetadataModelPropertyProvider, System.ComponentModel.INotifyPropertyChanged, Varigence.Utility.Xml.IXObjectMappingProvider, System.ComponentModel.IDataErrorInfo,
Constructors
AstMetadataModelNode(IFrameworkItem) | Initializes a new instance of the AstMetadataModelNode class with the specified parent node. |
Fields
ScopedNamePrefixBackingStore | |
IsScopeImported |
Properties
DynamicObjectClassName | Specifies the name to use for the wrapper class that is created as part of the dynamic object for this metadata model. |
DynamicObjectClassNameDefaultValue | Gets the default value for the DynamicObjectClassName property |
DynamicObjectNamespace | Specifies the namespace to use for all wrapper classes for this metadata model and its descendants during dynamic object creation. |
DynamicObjectNamespaceDefaultValue | Gets the default value for the DynamicObjectNamespace property |
EffectiveDynamicObjectClassFullName | Gets the fully qualified name that will be used for the metadata model wrapper object. |
EffectiveDynamicObjectClassName | Gets the name that will be used for the metadata model wrapper object. |
EffectiveDynamicObjectNamespace | Gets the namespace into which the metadata model wrapper dynamic object will be generated. |
Entities | This is a collection of the entities that will be used to store the core metadata values associated with the metadata model. |
FriendlyTypeNameStatic | Gets the friendly name of the type of this node |
PermittedValueSets | This is a collection of the permitted value sets that will be used to constrain the allowed input values for properties throughout the parent metadata model. |
Properties | This is the collection of properties that add configuration values to the metadata model. |
Validators | This is a collection of the validator logic objects that will be used to ensure that the metadata model is internally consistent and satisfies the constraints imposed by the metadata model. |
LogicalDisplayFolder | Specifies a path that should be used for organizing the tree display of this object in the Logical View in BimlStudio. |
LogicalDisplayFolderDefaultValue | Gets the default value for the LogicalDisplayFolder property |
ScopedName | Gets the scoped name which can be used to uniquely identify this object among other objects of its type |
SymbolTable | Gets a reference to the symbol table that stores a reference to this and all other named objects in the project |
SsisSafeScopedName | Returns a version of the ScopedName that has been cleaned of invalid characters for SSIS. |
SsisSafeName | Returns a version of the Name that has been cleaned of invalid characters for SSIS. |
Name | Specifies the name of the object. This name can be used to reference this object from anywhere else in the program. |
References | Gets collection of FrameworkItemReference objects, which track rich information about the properties that hold references to this node. |
NameDefaultValue | Gets the default value for the Name property |
Guid | |
Annotations | This is a collection of annotation items that can be used to specify documentation, tags, or other information. Annotations are particularly useful for storing information about nodes that can be used by BimlScript code. |
ObjectTag | This property provides a general purpose storage mechanism for .NET objects to be associated with AstNode objects. It supplements the annotation system, which is intended for use with string-based metadata. |
BimlFile | This value specifies the BimlFile in which the Biml code that defines AstNode resides. |
ItemLabel | Gets a label that can be used to identify this node |
ParentItem | This value specifies the parent of the current node. All nodes must have a valid parent in the Biml framework, except for the root node. |
Methods
BindingScopeBoundaries() | Retrieves the permitted scope boundaries to bind references from this node. |
DefinedAstNodes() | Retrieves a collection of nodes that have been defined as direct children of the current node. |
Duplicate() | Creates a duplicate of the current node |
Duplicate(IFrameworkItem) | Creates a duplicate of the current node with the specified parent item |
GenerateDynamicObjectCode(String) | |
GetAllItemsReferencedByDefinedSuccessors() | Builds a list of all items referenced by this node and its successors. Each tuple in the returned list represents a FrameworkItemReference. The first item is the ReferencingItem, the second item is the property name, and the third item is the ReferencedItem. |
GetDefaultValue(String) | Retrieves the default value for the property with the name propertyName |
GetDefaultValue<T>(String) | Retrieves the default value for the property with the name propertyName |
StructureEquals(Object) | Compares this node to the provided object to determine if all defined children and references are equal. |
UpdateDynamicObject() | |
GetSchemaLocalName() | Retrieves the local XML element name that corresponds to this node in Biml code. |
ToString() | Returns a string that represents the current object. In this case, it is the Name of the node. |
OnScopedNameChanged(String, String) | |
OnItemLabelChanged(String, String) | |
OnNameChanging(String, String) | |
OnNameChanged(String, String) | |
AddScopedNameChangedEventListener(IReferenceableItem, EventHandler<VulcanPropertyChangedEventArgs>) | Adds the scoped name changed event handler to the specified referenceable item. |
RemoveScopedNameChangedEventListener(IReferenceableItem, EventHandler<VulcanPropertyChangedEventArgs>) | Removes the scoped name changed event handler from the specified referenceable item. |
FirstChildOfType<TChild>() | Gets the first defined descendant node of the specified type |
RemoveFromParent() | Removes this node definition from its parent |
GetJson() | Generates a JavaScript Object Notation (JSON) representation of the current node |
GetExternalJson() | Generates a JavaScript Object Notation (JSON) representation of the current node |
GetJson(Boolean, Boolean, Boolean, Boolean, Boolean) | Generates a JavaScript Object Notation (JSON) representation of the current node |
GetXObjectName() | Gets the fully qualified XML element name for this node in the code document. |
FirstParent<TAstNode>() | Retrieves the first parent or ancestor node of the specified type |
FirstParent<TAstNode>(Type) | Retrieves the first parent or ancestor node of the specified type with the specified custom attribute type |
FirstThisOrParent<TAstNode>() | Retrieves the first parent or ancestor node of the specified type, including this node |
IsDirectAncestor(IFrameworkItem) | Retrieves a value indicating whether the specified node is a direct ancestor of this node. |
AncestorDistance(IFrameworkItem) | Retrieves the number of steps between this node and the nearest shared ancestor with the specified relative node. |
FirstThisOrParent<TAstNode>(Type) | Retrieves the first parent or ancestor node (including this node) of the specified type with the specified custom attribute type |
AllDefinedSuccessors() | Retrieves the collection of all nodes defined as a child of this or any successor node or the current node |
AllDefinedSuccessors(Boolean) | Retrieves the collection of all nodes defined as a child of this or any successor node or optionally the current node |
OnNotificationTargetPropertyChanged(String) | |
OnScopeBoundaryChanged(IScopeBoundary, IScopeBoundary) | |
AddParseableChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>) | |
RemoveParseableChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>) | |
AddScopeBoundaryChangedEventListener(IFrameworkItem, EventHandler<VulcanPropertyChangedEventArgs>) | |
RemoveScopeBoundaryChangedEventListener(IFrameworkItem, EventHandler<VulcanPropertyChangedEventArgs>) | |
AddParsePendingChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>) | |
RemoveParsePendingChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>) | |
AddFromTemplateChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>) | |
RemoveFromTemplateChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>) | |
ParseSelf(XElement, ParserContext) | |
ParseNameValueMapping(XElement) | |
BindReference(SymbolTable, String, Boolean, String, Int32, Boolean) |