Skip to main content

Class AstMetadataModelPropertyNode

Properties add configuration values to various objects within the metadata model.

Namespace: Varigence.Languages.Biml.Metadata

Assembly: Biml.dll

C#


public class AstMetadataModelPropertyNode : AstScopeBoundaryNode, IBindableItem, IGetJsonProvider, INamedNode, IScopeBoundary, IReferenceableItem, IFrameworkItem, IValidationInfo, INamedItem

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, Varigence.Utility.Collections.IScopedNameIndexable,

Constructors

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

Fields

FieldsDescription
ScopedNamePrefixBackingStore
IsScopeImported

Properties

PropertiesDescription
AllowCustomInputSpecifies whether the property should allow custom input in those cases where a permitted value set has been specified. If a permitted value set has not been specified, then this property will have no impact.
AllowCustomInputDefaultValueGets the default value for the AllowCustomInput property
CategorySpecifies the category or group into which this property should be placed within autogenerated UI.
CategoryDefaultValueGets the default value for the Category property
DataTypeThis value specifies the type of the data stored in this metadata property using the unified type system. The type values include all of those types commonly used in Microsoft SQL Server table definitions.
DefaultThis value specifies a default value for the metadata property.
DefaultDefaultValueGets the default value for the Default property
FriendlyTypeNameStaticGets the friendly name of the type of this node
GroupByPrioritySpecifies in what order this property should be used to group data items for the parent entity. Values less than 1 indicate that the property should not participate in grouping.
GroupByPriorityDefaultValueGets the default value for the GroupByPriority property
IsDocumentationVisibleSpecifies whether or not the autogenerated documentation for the parent metadata model will include this property.
IsDocumentationVisibleDefaultValueGets the default value for the IsDocumentationVisible property
IsRequiredSpecifies whether this property must be specified as part of the metadata model instance or if it is optional.
IsRequiredDefaultValueGets the default value for the IsRequired property
IsUiEditorVisibleSpecifies whether this property should be exposed in the editor UI for this metadata model. For instance, in Excel this would correspond to the field being hidden in the parent entity's worksheet.
IsUiEditorVisibleDefaultValueGets the default value for the IsUiEditorVisible property
Length(Set to -1 to indicate MAX length). This value specifies the length parameter for the DataType associated with this metadata property. This property applies only to DataTypes that support a length specification, such as String and Binary types.
LengthDefaultValueGets the default value for the Length property
PermittedValueSetSpecifies a reference to the permitted value set that will constrain the inputs that can be provided for this property value. If AllowCustomInput is also set to true, then the permitted value set will only be used for completion lists in editor UIs.
PrecisionThis value specifies the precision parameter for the DataType associated with this metadata property. Precision is the number of digits stored for a numeric value. This property applies only to DataTypes that support precision, such as Decimal.
PrecisionDefaultValueGets the default value for the Precision property
ScaleThis value specifies the scale parameter for the DataType associated with this metadata property. Scale is the number of digits to the right of the decimal point in a numeric value. This property applies only to DataTypes that support precision, such as Decimal.
ScaleDefaultValueGets the default value for the Scale property
SortOrderSpecifies the order of this property relative to the other properties within its Category for placement within the autogenerated UI.
SortOrderDefaultValueGets the default value for the SortOrder property
UiEditorTypeSpecifies the type of editor control that should be used for this property in automatically generated metadata entry UIs.
UiEditorTypeDefaultValueGets the default value for the UiEditorType property
ValidatorsThis is a collection of the validator logic objects that will be used to ensure that the metadata model property is internally consistent and satisfies the constraints imposed by the metadata model.
ScopedNameGets the scoped name which can be used to uniquely identify this object among other objects of its type
SymbolTableGets a reference to the symbol table that stores a reference to this and all other named objects in the project
SsisSafeScopedNameReturns a version of the ScopedName that has been cleaned of invalid characters for SSIS.
SsisSafeNameReturns a version of the Name that has been cleaned of invalid characters for SSIS.
NameSpecifies the name of the object. This name can be used to reference this object from anywhere else in the program.
ReferencesGets collection of FrameworkItemReference objects, which track rich information about the properties that hold references to this node.
NameDefaultValueGets the default value for the Name property
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
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.
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)