ConfigSectionNode MembersNFX Class Library

[This is preliminary documentation and is subject to change.]

The ConfigSectionNode type exposes the following members.
Constructors

  NameDescription
Protected methodConfigSectionNode(Configuration, ConfigSectionNode)
Initializes a new instance of the ConfigSectionNode class
Protected methodConfigSectionNode(Configuration, ConfigSectionNode, IConfigSectionNode)
Performs deep clone copy from another node which can be in this or different configuration
Protected methodConfigSectionNode(Configuration, ConfigSectionNode, String, String)
Initializes a new instance of the ConfigSectionNode class
Back to Top
Methods

  NameDescription
Public methodAddAttributeNode(String)
Public methodAddAttributeNode(String, Object)
Public methodAddAttributeNode(String, String)
Public methodAddChildNode(String)
Public methodAddChildNode(IConfigSectionNode)
Adds a new child node into this one deeply cloning nodes data from some other node which may belong to a different conf instance
Public methodAddChildNode(String, Object)
Public methodAddChildNode(String, String)
Adds a new child section node to this node
Public methodAddChildNodeFromMerge
Adds a new section node to this configuration which is an ordered merge result of two other nodes - base and override.
Public methodAttrByIndex
Returns attribute node by its index or empty attribute if real attribute with such index does not exist
Public methodAttrByName
Public methodAttrsToStringMap
Returns attribute values as string map
Protected methodcheckCanModify (Inherited from ConfigNode.)
Public methodDelete
Deletes this section from its parent
(Overrides ConfigNode Delete .)
Public methodDeleteAllAttributes
Deletes all attribute nodes from this node
Public methodDeleteAllChildren
Deletes all child section nodes from this node
Public methodOnlineEquals
Determines whether the specified object is equal to the current object.
(Inherited from OnlineObject.)
Public methodEvaluateValueVariables
Evaluates a value string expanding all variables with var-paths relative to this node. Evaluates configuration variables such as "$(varname)" or "$(@varname)". Varnames are paths to other config nodes from the same configuration or variable names when prefixed with "~". If varname starts with "@" then it gets combined with input as path string. "~" is used to qualify environment vars that get resolved through Configuration.EnvironmentVarResolver Example: `....add key="Schema.$(/A/B/C/$attr)" value="$(@~HOME)bin\Transforms\"...`
Protected methodOnlineFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from OnlineObject.)
Public methodOnlineGetHashCode
Serves as the default hash function.
(Inherited from OnlineObject.)
Public methodOnlineGetType
Gets the OnlineType of the current instance.
(Inherited from OnlineObject.)
Protected methodinclude
Public methodIsSameName(String)
Returns true when another name is the same as this node's name per case-insensitive culture-neutral comparison
(Inherited from ConfigNode.)
Public methodIsSameName(IConfigNode)
Returns true when another node has the same name as this one per case-insensitive culture-neutral comparison
(Inherited from ConfigNode.)
Public methodIsSameNameAttr(String)
Returns true when another name is the same as this section "name" attribute per case-insensitive culture-neutral comparison
Public methodIsSameNameAttr(IConfigSectionNode)
Returns true when another node has the attribute called 'name' and its value is the same as in this one per case-insensitive culture-neutral comparison
Protected methodOnlineMemberwiseClone
Creates a shallow copy of the current OnlineObject.
(Inherited from OnlineObject.)
Public methodMergeAttributes
Merges attributes from another node into this one. Another node may belong to a different configuration instance
Public methodMergeSections
Merges child sections from another node into this one. Another node may belong to a different configuration instance. This method ignores override flags and merges nodes regardless
Public methodNavigate
Navigates the path and return the appropriate node. Example: '!/nfx/logger/destination/$file-name'
Public methodNavigateSection
Navigates the path and return the appropriate section node. Example '!/nfx/logger/destination'
Public methodOverrideBy
Merges another node data by overriding this node's value/attributes/sub nodes according to rules.
Public methodProcessIncludePragmas
Replaces all include pragmas - sections with specified names ('_include' by default), with pointed to configuration file content as obtained via the call to file system specified in every pragma. If no FS specified then LocalFileSystem is used. If no file name specified when try to allocate config node provider. Returns true if include pragmas were found. Note: this method does not process new include pragmas that may have fetched during this call. Caution: the file system used in the operation may rely on the App container that may need to be set-up for the call to succeed, therefore calling this method before app has activated may fail, in such cases a temp app container may be set to get the config file with processed includes, then the result may be passed to the primary app container ctor. This call is not logically thread-safe, it must be called from the main thread in the app
Public methodReplaceBy
Completely replaces this node's attributes, value and children with data from another node
Public methodResetModified
Resets modification of this an all child nodes
(Overrides ConfigNode ResetModified .)
Public methodToConfigurationJSONDataMap
Returns this config node as JSON data map suitable for making JSONConfiguration. Contrast with ToJSONDataMap
Public methodToJSONDataMap
Converts this ConfigSectionNode to JSONDataMap. Contrast with ToConfigurationJSONDataMap Be carefull: that this operation can "lose" data from ConfigSectionNode. In other words some ConfigSectionNode information can not be reflected in corresponding JSONDataMap, for example this method overwrites duplicate key names and does not support section values
Public methodToJSONString
Serializes configuration tree rooted at this node into JSON configuration format and returns it as a string
Public methodToLaconicString
Serializes configuration tree rooted at this node into Laconic format and returns it as a string
Public methodToString (Inherited from ConfigNode.)
Public methodValueAsBool (Inherited from ConfigNode.)
Public methodValueAsByte (Inherited from ConfigNode.)
Public methodValueAsByteArray (Inherited from ConfigNode.)
Public methodValueAsDateTime (Inherited from ConfigNode.)
Public methodValueAsDecimal (Inherited from ConfigNode.)
Public methodValueAsDouble (Inherited from ConfigNode.)
Public methodValueAsEnum TEnum  (Inherited from ConfigNode.)
Public methodValueAsFloat (Inherited from ConfigNode.)
Public methodValueAsGDID (Inherited from ConfigNode.)
Public methodValueAsGUID (Inherited from ConfigNode.)
Public methodValueAsInt (Inherited from ConfigNode.)
Public methodValueAsLong (Inherited from ConfigNode.)
Public methodValueAsNullableBool (Inherited from ConfigNode.)
Public methodValueAsNullableByte (Inherited from ConfigNode.)
Public methodValueAsNullableDateTime (Inherited from ConfigNode.)
Public methodValueAsNullableDecimal (Inherited from ConfigNode.)
Public methodValueAsNullableDouble (Inherited from ConfigNode.)
Public methodValueAsNullableEnum TEnum  (Inherited from ConfigNode.)
Public methodValueAsNullableFloat (Inherited from ConfigNode.)
Public methodValueAsNullableGDID (Inherited from ConfigNode.)
Public methodValueAsNullableGUID (Inherited from ConfigNode.)
Public methodValueAsNullableInt (Inherited from ConfigNode.)
Public methodValueAsNullableLong (Inherited from ConfigNode.)
Public methodValueAsNullableSByte (Inherited from ConfigNode.)
Public methodValueAsNullableShort (Inherited from ConfigNode.)
Public methodValueAsNullableTimeSpan (Inherited from ConfigNode.)
Public methodValueAsNullableUInt (Inherited from ConfigNode.)
Public methodValueAsNullableULong (Inherited from ConfigNode.)
Public methodValueAsNullableUShort (Inherited from ConfigNode.)
Public methodValueAsSByte (Inherited from ConfigNode.)
Public methodValueAsShort (Inherited from ConfigNode.)
Public methodValueAsString (Inherited from ConfigNode.)
Public methodValueAsTimeSpan (Inherited from ConfigNode.)
Public methodValueAsType
Tries to get value as specified type or throws if it can not be converted
(Inherited from ConfigNode.)
Public methodValueAsUInt (Inherited from ConfigNode.)
Public methodValueAsULong (Inherited from ConfigNode.)
Public methodValueAsUShort (Inherited from ConfigNode.)
Back to Top
Extension Methods

  NameDescription
Public Extension MethodAsBool (Defined by ObjectValueConversion.)
Public Extension MethodAsByte (Defined by ObjectValueConversion.)
Public Extension MethodAsChar (Defined by ObjectValueConversion.)
Public Extension MethodAsDateTime Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsDateTime(DateTime, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsDecimal (Defined by ObjectValueConversion.)
Public Extension MethodAsDouble (Defined by ObjectValueConversion.)
Public Extension MethodAsEnum TEnum  (Defined by ObjectValueConversion.)
Public Extension MethodAsFloat (Defined by ObjectValueConversion.)
Public Extension MethodAsGDID Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGDID(GDID, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGDIDSymbol Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGDIDSymbol(GDIDSymbol, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGUID (Defined by ObjectValueConversion.)
Public Extension MethodAsInt (Defined by ObjectValueConversion.)
Public Extension MethodAsJSONConfig (Defined by ObjectValueConversion.)
Public Extension MethodAsLaconicConfig (Defined by ObjectValueConversion.)
Public Extension MethodAsLong (Defined by ObjectValueConversion.)
Public Extension MethodAsNonNullOrEmptyString (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableBool (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableByte (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableChar (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableDateTime (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableDecimal (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableDouble (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableEnum TEnum  (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableFloat (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableGDID (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableGDIDSymbol (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableGUID (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableInt (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableLong (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableSByte (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableShort (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableTimeSpan (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableUInt (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableULong (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableUShort (Defined by ObjectValueConversion.)
Public Extension MethodAsSByte (Defined by ObjectValueConversion.)
Public Extension MethodAsShort (Defined by ObjectValueConversion.)
Public Extension MethodAsString (Defined by ObjectValueConversion.)
Public Extension MethodAsTimeSpan Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsTimeSpan(TimeSpan, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsUInt (Defined by ObjectValueConversion.)
Public Extension MethodAsULong (Defined by ObjectValueConversion.)
Public Extension MethodAsUri (Defined by ObjectValueConversion.)
Public Extension MethodAsUShort (Defined by ObjectValueConversion.)
Public Extension MethodAsXMLConfig (Defined by ObjectValueConversion.)
Public Extension MethodHasTheSameContent
Returns true when both config nodes represents the same manifest - that is the same file structure
(Defined by ManifestUtils.)
Public Extension MethodToErlObject Overloaded.
Try to convert .NET native object type to corresponding Erlang term. Throw exception if conversion is not possible
(Defined by ErlObject.)
Public Extension MethodToErlObject(ErlTypeOrder, Boolean)Overloaded.
Try to convert .NET native object type to corresponding Erlang term of given type. Throw exception if conversion is not possible
(Defined by ErlObject.)
Public Extension MethodToJSON(JSONWritingOptions)Overloaded.
Serializes object into JSON string
(Defined by JSONExtensions.)
Public Extension MethodToJSON(TextWriter, JSONWritingOptions)Overloaded.
Serializes object into JSON format using provided TextWriter
(Defined by JSONExtensions.)
Public Extension MethodToJSON(Stream, JSONWritingOptions, Encoding)Overloaded.
Serializes object into JSON format using provided stream and optional encoding
(Defined by JSONExtensions.)
Back to Top
Fields

  NameDescription
Protected field__Empty (Inherited from ConfigNode.)
Protected fieldm_Attributes
Protected fieldm_Children
Protected fieldm_Configuration (Inherited from ConfigNode.)
Protected fieldm_Modified (Inherited from ConfigNode.)
Protected fieldm_Script_Bool_Condition_Result
Internal field used for attaching temporary script state. do not use
Protected fieldm_Script_Statement
Internal field used for attaching temporary script state. do not use
Back to Top
Properties

  NameDescription
Public propertyAttrCount
Returns number of child attribute nodes
Public propertyAttributes
Enumerates all attribute nodes
Public propertyChildCount
Returns number of child section nodes
Public propertyChildren
Enumerates all child nodes
Public propertyConfiguration
References configuration this node is under
(Inherited from ConfigNode.)
Public propertyEvaluatedValue
Returns null or value of this node with all variables evaluated
(Inherited from ConfigNode.)
Public propertyExists
Determines whether this node really exists in configuration or is just a sentinel empty node
(Inherited from ConfigNode.)
Public propertyHasAttributes
Indicates whether this node has any associated attributes
Public propertyHasChildren
Indicates whether this node has any child section nodes
Public propertyItem Int32 
Retrieves section node by index or empty node instance if section node with such index could not be found
Public propertyItem  String  
Retrieves section node by names, from left to right until existing node is found. If no existing node could be found then empty node instance is returned
Public propertyModified
Indicates whether this or any child nodes or attributes were modified
(Overrides ConfigNode Modified.)
Public propertyName
Retrieves node name
(Inherited from ConfigNode.)
Public propertyParent
References parent node or Empty if this node has no parent
(Inherited from ConfigNode.)
Public propertyRootPath
Returns path from root to this node
(Inherited from ConfigNode.)
Public propertyValue
Retrieves node value or null. The value getter performs evaluation of variables, while setter sets the value verbatim
(Inherited from ConfigNode.)
Public propertyVerbatimValue
Returns verbatim (without variable evaluation) node value or null
(Inherited from ConfigNode.)
Back to Top
Explicit Interface Implementations

  NameDescription
Explicit interface implemetationPrivate propertyIConfigNode Parent
References parent node
(Inherited from ConfigNode.)
Explicit interface implemetationPrivate propertyIConfigNode RootPath (Inherited from ConfigNode.)
Explicit interface implemetationPrivate methodIConfigSectionNode AttrByIndex
Explicit interface implemetationPrivate methodIConfigSectionNode AttrByName
Explicit interface implemetationPrivate propertyIConfigSectionNode Attributes
Explicit interface implemetationPrivate propertyIConfigSectionNode Children
Explicit interface implemetationPrivate propertyIConfigSectionNode Item Int32 
Explicit interface implemetationPrivate propertyIConfigSectionNode Item  String  
Explicit interface implemetationPrivate methodIConfigSectionNode Navigate
Explicit interface implemetationPrivate methodIConfigSectionNode NavigateSection
Back to Top
See Also