Skip to main content

Class AstRootNode

AstRootNode serves as the root of the entire project tree. Anything that can be defined in a Biml project must be a descendant of the AstRootNode, and all constructs in the project can be reached by following a path through the child properties starting at the AstRootNode.

Namespace: Varigence.Languages.Biml

Assembly: Biml.dll

C#


public class AstRootNode : AstNode, IBindableItem, IGetJsonProvider, IDataflowItem, IRootItem, ISymbolTableProvider, IFrameworkItem, IValidationInfo

Inheritance AstNode

  • Implements

    Varigence.Utility.Collections.IVulcanCollectionParent, Varigence.Utility.ComponentModel.IVulcanNotifyPropertyChanged, Varigence.Utility.ComponentModel.IPropertyChangeNotificationTarget, System.ComponentModel.INotifyPropertyChanged, Varigence.Utility.Xml.IXObjectMappingProvider, System.ComponentModel.IDataErrorInfo,

Constructors

ConstructorsDescription
AstRootNode(IFrameworkItem)Initializes a new instance of the AstRootNode class with the specified parent node.

Fields

FieldsDescription
IsScopeImported

Properties

PropertiesDescription
AdoNetConnectionsGets a collection of all AstAdoNetConnectionNode objects contained in the Connections property for this root node
BuildSettingsGets a collection of all root-level items contained by this root node
ConnectionsThis is a collection of all connection definitions in the project.
CubeProjectsGets a collection of all AstCubeProjectNode objects contained in the Projects property for this root node
CubesThis is a collection of all SQL Server Analysis Services (SSAS) cube definitions in the project.
DatabasesThis is a collection of all database definitions in the project.
DataFactoriesThis is a collection of all Azure Data Factory linked service, dataset, and pipeline objects in the project.
DbConnectionsGets a collection of all AstDbConnectionNode objects contained in the Connections property for this root node
DimensionsGets a collection of all AstDimensionMetadataNode objects contained in the all Tables for this root node
FileFormatsThis is a collection of all file format definitions in the project.
FlatFileFormatsGets a collection of all AstFlatFileFormatNode objects contained in the FileFormats property for this root node
FriendlyTypeNameStaticGets the friendly name of the type of this node
ItemsGets a collection of all root-level items contained by this root node
MeasureGroupsGets a collection of all AstMeasureGroupMetadataNode objects contained in the all Tables for this root node
MetadataDefines the collection of offline metadata contaiers associated with this Biml project These containers can be used to store query and table column type information which can then be used to perform builds without needing to connect to the live data sources.
MetadataInstancesGets a collection of all AstMetadataInstanceNode objects contained in the Metadata collection for this root node
MetadataModelsGets a collection of all AstMetadataModelNode objects contained in the Metadata collection for this root node
OdbcConnectionsGets a collection of all AstOdbcConnectionNode objects contained in the Connections property for this root node
OfflineSchemasGets a collection of all AstOfflineSchemaNode objects contained in the Metadata collection for this root node
OleDbConnectionsGets a collection of all AstOleDbConnectionNode objects contained in the Connections property for this root node
PackageProjectsGets a collection of all AstPackageProjectNode objects contained in the Projects property for this root node
PackagesThis is a collection of all SQL Server Integration Services package definitions in the project.
PrincipalsThis is a collection of all principal definitions in the project.
ProjectsDefines the collection of PackageProjects and CubeProjects associated with this Biml project.
RawFileFormatsGets a collection of all AstRawFileFormatNode objects contained in the FileFormats property for this root node
SchemasThis is a collection of all database schema definitions in the project.
ScriptProjectsThis is a collection of all SQL Server Integration Services script project definitions in the project.
ServersThis is a collection of all server definitions in the project.
SymbolTableGets the symbol table that is used to track referenceable items in this project.
TablesThis is a collection of all regular table definitions in the project.
TabularModelsThis is a collection of all SQL Server Analysis Services (SSAS) tabular model definitions in the project.
TabularProjectsGets a collection of all AstTabularProjectNode objects contained in the Projects property for this root node
TabularTablesGets a collection of all AstTabularMetadataNode objects contained in the all Tables for this root node
Guid
AnnotationsThis 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.
ObjectTagThis 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.
BimlFileThis value specifies the BimlFile in which the Biml code that defines AstNode resides.
ItemLabelGets a label that can be used to identify this node
ParentItemThis 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

MethodsDescription
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
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
GetFriendlyTypeNames()
GetRootItemType(String, String)Retrieves the type of the root object with the specified collection and XML element name.
GetSchemaLocalName()Retrieves the local XML element name that corresponds to this node in Biml code.
StructureEquals(Object)Compares this node to the provided object to determine if all defined children and references are equal.
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>)
ParseAttribute(XAttribute, ParserContext)
ParseSelf(XElement, ParserContext)
ParseNameValueMapping(XElement)
BindReference(SymbolTable, String, Boolean, String, Int32, Boolean)
GetBimlAttributeFragment(CulturedStringBuilder)