Show / Hide Table of Contents

Namespace NFX.Environment

Classes

Behavior

Represents a piece of logic that can be applied to different entities declaratively as attribute or through configuration. Behaviors are a form of inversion-of-control that allows to configure entities by code which itself can be injected by name from configuration. Behaviors are a form of aspect-oriented programming as they allow to proclaim certain "behavior" that knows how to implement itself on various application components (i.e. some behavior may inject Glue message inspector or log destination). Behaviors can be used to enforce policies by performing pre-run checks and throw exceptions if certain required providers are not injected/configured

BehaviorApplyException

Thrown by Behavior class to indicate behavior apply error

BuildInformation

Retrieves build information encapsulated into a module in the form of an embedded resource

CommandArgsConfiguration

Provides implementation of configuration based on arguments supplied from command line which is "string[]". Arguments start with either "/" or "-" prefix. If any argument is not prefixed then it is written as an auto-named attribute node of the root with its value set, otherwise a section (under root) with argument's name is created. Any argument may have options. Any option may either consist of name or name value pair delimited by "=". Argument options are written as attribute nodes of their corresponding sections. If option value specified without name (without "=") then option is auto-named

ConfigAttribute

Specifies how to apply configuration values to classes/fields/props

ConfigAttrNode

Represents an attribute of a attribute node

ConfigException

Configuration-related exception

ConfigMacroContextAttribute

Decorates classes or structs that act as a context object for macro evaluation - passed as context parameter to MacroRunner.Run(...context) method

ConfigNode

Provides configuration node abstraction for section and attribute nodes. This class is thread-safe

ConfigNodeEqualityComparer

Performs deep structural comparison of IConfigNodes

ConfigSectionNode

Represents configuration section node. This class is thread safe

ConfigStringBuilder

Facilitates the creation/building of strings from existing strings or configuration vectors. This is used for example to build DB connect strings from host names that need to be resolved via an external system

Configuration

Provides top-level configuration abstraction

DefaultMacroRunner

Provides default implementation for configuration variable macros. NOTE: When serialized a new instance is created which will not equal by reference to static.Instance property

FactoryUtils

Provides helper methods for dynamic object creation and configuration

FileConfiguration

Provides file-based configuration base object used for concrete implementations such as XML or INI file base configurations

JSONConfiguration

Provides implementation of configuration based on a classic JSON content

LaconicConfiguration

Provides implementation of configuration based on Laconic content format

MemoryConfiguration

Implements configuration that can not be persisted/loaded anywhere - just stored in memory

NodeOverrideRules

Contains node override rule definitions such as override specifier names and values. This class is used for merging/override of configurations/nodes

OSEnvironmentVariableResolver

Resolves variables using Windows environment variables. NOTE: When serialized a new instance is created which will not equal by reference to static.Instance property

ScriptRunner

Executes configuration scripts which are embedded in configuration

Vars

Allows for simple ad-hoc environment var passing to configuration

VarsDictionary

XMLConfiguration

Provides implementation of configuration based on a classic XML content

Interfaces

IConfigAttrNode

Represents a read-only attribute of a attribute node

IConfigNode

Provides read-only configuration node abstraction for section and attribute nodes

IConfigNodeProvider

Represents an entity that provides config node. It is primarily used for includes

IConfigSectionNode

Provides read-only configuration section node abstraction

IConfigSettings

Represents an entity that provides a type-safe access to configuration settings that come from Configuration nodes. This class obviates the need for navigation between config nodes on every property get and facilitates faster access to some config parameters that need to be gotten efficiently, as they are now kept cached in RAM in native format (i.e. DateTime vs. string) as fields. Usually classes that implement this interface are singleton and they get registered with the application using IApplication.RegisterConfigSettings() method. Warning: the implementation must be thread-safe and allow property getters to keep reading while ConfigChanged() notification happens

IConfigStringBuilder

Denotes objects that can build a string (i.e. a database connection string) from the configured state/properties. This is used for example to build DB connect strings from host names that need to be resolved via an external system

IConfigurable

Designates entities that may be configured

IConfigurationPersistent

Designates entities that may persist their parameters/state in configuration

IEnvironmentVariableResolver

Represents an entity that can resolve variables

IMacroRunner

Represents an entity that runs config var macros

Enums

OverrideSpec

Override specifications that dictate what to do when another node supplies entity with the same name

Back to top Copyright © 2006-2018 Agnicore Inc
Generated by DocFX