Click or drag to resize

ConfigurableVaultApplicationBaseTSecureConfiguration Class

Common base class for applications that want to use a single, securable configuration with full MFAdmin support.
Inheritance Hierarchy
SystemObject
  MFiles.VAF.CommonMethodSource
    MFiles.VAFVaultApplicationBase
      MFiles.VAF.CoreConfigurableVaultApplicationBaseTSecureConfiguration

Namespace:  MFiles.VAF.Core
Assembly:  MFiles.VAF (in MFiles.VAF.dll) Version: 2.1.0.1 (2.1.0.1)
Syntax
C#
public class ConfigurableVaultApplicationBase<TSecureConfiguration> : VaultApplicationBase, 
	IUsesAdminConfigurations, IUsesVaultExtensionMethods, IConfigurationDomainNode
where TSecureConfiguration : class, new()

Type Parameters

TSecureConfiguration
The top-level configuration type of the application.

The ConfigurableVaultApplicationBaseTSecureConfiguration type exposes the following members.

Constructors
Properties
  NameDescription
Protected propertyAdminConfigurationsManager
Admin Configuration Manager to handle the wire-up between M-Files Admin and Dashboard Nodes.
(Inherited from VaultApplicationBase.)
Public propertyApplicationDefinition
The application definition information.
(Inherited from VaultApplicationBase.)
Public propertyApplicationRunningStatus
Returns the application running status. Indicates if the application is starting, stopping or running normally.
(Inherited from VaultApplicationBase.)
Public propertyBackgroundOperations
A manager for creating background operations.
(Inherited from VaultApplicationBase.)
Protected propertyConfiguration
The application's current configuration.
Public propertyConfigurationStorage
The configuration storage object.
(Inherited from VaultApplicationBase.)
Protected propertyConfManager
Configuration Manager that enforces security controls.
Public propertyEventSourceIdentifier
Returns the vault application event source identifier that is used when logging to Windows event log.
(Inherited from VaultApplicationBase.)
Public propertyExecutionTracer
The execution tracer object.
(Inherited from VaultApplicationBase.)
Protected propertyInitialLoadComplete
True after the Initialize() method has been executed.
(Inherited from VaultApplicationBase.)
Protected propertyLicense
The optional license of the application. Set this in inherited class constructor to get license.
(Inherited from VaultApplicationBase.)
Public propertyMetadataStructureValidationResult
The results from the metadata structure validation.
(Inherited from VaultApplicationBase.)
Public propertyMetadataStructureValidator
The metadata structure validator object.
(Inherited from VaultApplicationBase.)
Public propertyPermanentVault
The permanent vault object, runs as MFServer user.
(Inherited from VaultApplicationBase.)
Public propertyTaskQueueManager
Task queue manager.
(Inherited from VaultApplicationBase.)
Top
Methods
  NameDescription
Public methodAddVaultExtensionMethod
Adds a vault extension method that does not have a separate event handler proxy.
(Inherited from VaultApplicationBase.)
Protected methodAssertApplicationInStableState
Throws an exception if the application is in a state where it cannot properly handle server events.
(Inherited from VaultApplicationBase.)
Protected methodClearAutomaticallyGeneratedScripts
Clears the automatically generated scripts that are no longer used from the metadata structure (from property definitions and workflow states).
(Inherited from VaultApplicationBase.)
Protected methodCollectUnusedHandlers
Method for collecting extension method names which are unused.
(Inherited from VaultApplicationBase.)
Protected methodConvertToLocalVault
Overridable factory method for local vault objects. Converts the vault object to locally used and possibly stored vault object. This method allows the implementations to improve the performance by using in-process vault. Overriding functionality may e.g. implement local caching features to the vault.
(Inherited from VaultApplicationBase.)
Protected methodCreateAdminConfigurationManager
Overridable factory method to create the admin configuration manager object.
(Inherited from VaultApplicationBase.)
Protected methodCreateConfigurationStorage
Provides the application storage. This is sealed, as it always returns the configuration manager's storage object.
(Overrides VaultApplicationBaseCreateConfigurationStorage.)
Protected methodCreateEventHandlerMethodInfo
Overridable factory method to create the event handler method info.
(Inherited from VaultApplicationBase.)
Protected methodCreateExecutionTracer
Overridable factory method to create the execution tracer object.
(Inherited from VaultApplicationBase.)
Protected methodCreateMetadataStructureCacheEventSink
Creates the metadata structure cache event sink that can be used to update the cache based on events. Currently only updating the users, user groups and logins is supported. If one does not want to register the event handlers and update the cache then this method should be overridden and it should return null.
(Inherited from VaultApplicationBase.)
Protected methodCreateMetadataStructureValidator
Overridable factory method to create the metadata structure validator component.
(Inherited from VaultApplicationBase.)
Protected methodCreatePropertyMethodInfo
Overridable factory method to create the property method info.
(Inherited from VaultApplicationBase.)
Protected methodCreateStateMethodInfo
Overridable factory method to create the state method info.
(Inherited from VaultApplicationBase.)
Protected methodCreateStateTransitionMethodInfo
Overridable factory method to create the state transition method info.
(Inherited from VaultApplicationBase.)
Protected methodCreateVaultExtensionMethodInfo
Overridable factory method to create the vault extension method info.
(Inherited from VaultApplicationBase.)
Protected methodCustomValidation
Override this method to perform custom validation on the configuration/vault.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodEvaluateAutomaticStateTransitionTrigger
Invokes the registered automatic state transition condition handlers.
(Inherited from VaultApplicationBase.)
Public methodEvaluateStatePostConditions
Invokes all the state post-condition evaluation handlers.
(Inherited from VaultApplicationBase.)
Public methodEvaluateStatePreConditions
Invokes all the state precondition evaluation handlers.
(Inherited from VaultApplicationBase.)
Protected methodEventHandlerBelongsToThisVaultApplication
Check if the event handler belongs to this application.
(Inherited from VaultApplicationBase.)
Public methodExecuteVaultExtensionMethod
Executes the defined vault extension method.
(Inherited from VaultApplicationBase.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetApplicationLicenseDetails
Called by platform to request the license details text, either currently loaded or the given license.
(Inherited from VaultApplicationBase.)
Public methodGetApplicationLicenseStatus
Called to request the status information of the application.
(Inherited from VaultApplicationBase.)
Public methodGetCapabilities
Describes the capabilities this node has. The capabilities returned correspond to which interface methods are implemented/ok to call.
Public methodGetCommands
Provides the commands that can be shown and/or run for this node. Only safe to call if GetCapabilities returns the Commands flag.
Public methodGetConfiguration
Gets the current/stored configuration value for the node. Only safe to call if GetCapabilities returns the Configuration flag.
Protected methodGetConfigurationManager
Resolves the configuration manager the application uses. This can control where the configuration is stored/loaded from and what the default security level is.
Public methodGetConfigurationSchema
Gets the schema describing the structure of the configuration. Only safe to call if GetCapabilities returns the Schema flag.
Public methodGetDashboardContent
Provides the html for a custom dashboard to display for the node. Only safe to call if GetCapabilities returns the StatusDashboard flag.
Protected methodGetDelegateScriptTemplate
Method for reading the VBScript template from the resources.
(Inherited from VaultApplicationBase.)
Public methodGetDescription
Provides a description of the domain. Currently displayed in the domain header area, and in some default dashboards.
Protected methodGetEventHandlerDelegateScript
Method for retrieving the VBScript delegation code for the certain event type.
(Inherited from VaultApplicationBase.)
Protected methodGetEventHandlerEnvironment
Creates the local event handler environment.
(Inherited from VaultApplicationBase.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetID
Provides the static id for the node. This value should at least be unique amongst siblings. IDs cannot have spaces, newlines or periods.
Protected methodGetMetadataStructureCache
Creates the metadata structure cache for the given vault. If the caching is not desired then this method should be overridden and it should return null.
(Inherited from VaultApplicationBase.)
Public methodGetMethodsByAttributeT
Returns a collection of the methods decorated with the given attribute.
(Inherited from MethodSource.)
Public methodGetName
Gets the human readable name for the domain. Can be localized.
Protected methodGetPrivateMethodSources
Gets private method sources
(Inherited from VaultApplicationBase.)
Public methodGetPropertyAutomaticNumber
Invokes the property customized automatic numbering handler.
(Inherited from VaultApplicationBase.)
Public methodGetPropertyCustomValue
Invokes the property custom value calculation handler.
(Inherited from VaultApplicationBase.)
Protected methodGetPropertyEnvironment
Creates the local property environment.
(Inherited from VaultApplicationBase.)
Protected methodGetPropertyHandlerDelegateScript
Method for retrieving the VBScript delegation code for the certain state.
(Inherited from VaultApplicationBase.)
Public methodGetSortPriority
Controls the order in which the node appears amongst siblings.
Protected methodGetStateEnvironment
Creates the local state environment.
(Inherited from VaultApplicationBase.)
Protected methodGetStateHandlerDelegateScript
Method for retrieving the VBScript delegation code for the certain state.
(Inherited from VaultApplicationBase.)
Protected methodGetStateTransitionEnvironment
Creates the local state environment.
(Inherited from VaultApplicationBase.)
Protected methodGetStateTransitionHandlerDelegateScript
Method for retrieving the VBScript delegation code for a certain state transition.
(Inherited from VaultApplicationBase.)
Public methodGetStatusSummary
Provides a status summary for the node. Only safe to call if GetCapabilities returns the StatusSummary flag.
Public methodGetSubDomainNodes
Provides a list of sub domain nodes to appear as children of this node. Only safe to call if GetCapabilities returns the SubDomains flag.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodGetVaultExtensionMethodDelegateScript
Method for retrieving the VBScript delegation code for the certain vault extension method.
(Inherited from VaultApplicationBase.)
Public methodGetVaultExtensionMethodEventHandlerProxyName
Returns the name for the vault extension method event handler proxy of this Vault Application.
(Inherited from VaultApplicationBase.)
Public methodInitialize
Initializes the vault application in the specified vault. The method e.g. installs required event delegating scripts in the vault.
(Inherited from VaultApplicationBase.)
Public methodInitializeAdminConfigurations
Provides the AdminConfigurationManager instance created for this app to interface with the MFAdmin configuration node.
Protected methodInitializeApplication
Protected overridable for the child classes to override instead of Initialize. InitializeApplication can be used to make changes to the vault structure.
(Inherited from VaultApplicationBase.)
Protected methodInitializeImpl
Reload clear the internal data structures and loads the modules and their event handlers.
(Inherited from VaultApplicationBase.)
Protected methodInitializeTaskQueueManager
Protected overridable for the child classes to override so they can pass in their own settings. PermanentVault is initialized and should be used as the vault connection.
(Inherited from VaultApplicationBase.)
Public methodInstall
Installs the application.
(Inherited from VaultApplicationBase.)
Protected methodInstallApplication
Protected overridable for the child classes to override instead of Install. InstallApplication can be used to prevent installation of the application. InstallApplication should also install any additional required components. InstallApplication cannot make changes to the vault structure.
(Inherited from VaultApplicationBase.)
Protected methodInstallEventHandlerAndVaultExtensionMethodDelegateScripts
Generates and installs the VBScript delegate scripts for event handlers defined in the application.
(Inherited from VaultApplicationBase.)
Protected methodInstallHandlerDelegateScripts
Generates and installs the VBScript delegate scripts for all handlers that are defined in the application.
(Inherited from VaultApplicationBase.)
Protected methodInstallPropertyHandlerDelegateScripts
Generates and installs the VBScript delegate scripts for property handlers defined in the application.
(Inherited from VaultApplicationBase.)
Protected methodInstallStateAndStateTransitionHandlerDelegateScripts
Generates and installs the VBScript delegate scripts for state handlers defined in the application.
(Inherited from VaultApplicationBase.)
Protected methodIsGeneratedAutomatically
Checks if the given script is generated automatically. This is decided by the existence of a line with certain content.
(Inherited from VaultApplicationBase.)
Protected methodIsHandlerDefinedForProperty
Checks if the has handler(s) of the given type.
(Inherited from VaultApplicationBase.)
Protected methodIsHandlerDefinedForState
Checks if the state has handler(s) of the given type.
(Inherited from VaultApplicationBase.)
Protected methodIsHandlerDefinedForStateTransition
Checks if the state has handler(s) of the given type.
(Inherited from VaultApplicationBase.)
Public methodIsValid
Indicates whether the current configuration is valid based on the built-in validation and custom validation logic.
Protected methodLoadConfiguration
Safely loads the application's configuration. Defaulting to an empty JSON object if none is found.
Protected methodLoadHandlerMethods
Finds and caches all event handler methods and vault extension methods in the assembly. The methods are decorated with specific attributes.
(Inherited from VaultApplicationBase.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodNewEnvironment
Returns a new Event Handler environment, to be populated in the event handler script.
(Inherited from VaultApplicationBase.)
Protected methodOnConfigurationUpdated
Override this to handle configuration changes.
Protected methodPopulateConfigurationObjects(Vault) (Overrides VaultApplicationBasePopulateConfigurationObjects(Vault).)
Protected methodPopulateConfigurationObjects(Vault, Object)
Populates a configuration objects from single host object.
(Inherited from VaultApplicationBase.)
Protected methodPopulateConfigurationObjectsAndValidate
Populates and validates objects marked with MFConfiguration attribute.
(Inherited from VaultApplicationBase.)
Protected methodRegisterEventHandlers
Registers the specified event handler method.
(Inherited from VaultApplicationBase.)
Protected methodRegisterHandlersT
Generic method for collecting all methods from the given source that are decorated with the specified attribute type.
(Inherited from VaultApplicationBase.)
Protected methodRegisterMethodsFromSource
Registers all methods from the specified source.
(Inherited from VaultApplicationBase.)
Protected methodRegisterPropertyHandler
Registers the specified property handler method.
(Inherited from VaultApplicationBase.)
Protected methodRegisterStateHandler
Registers the specified state handler method.
(Inherited from VaultApplicationBase.)
Protected methodRegisterStateTransitionHandler
Registers the specified state transition handler method.
(Inherited from VaultApplicationBase.)
Protected methodRegisterVaultExtensionMethodHandler
Registers the specified vault extension method.
(Inherited from VaultApplicationBase.)
Public methodReinitializeMetadataStructureCache
Reinitialize the metadata structure cache.
(Inherited from VaultApplicationBase.)
Public methodRemoveVaultExtensionMethod
Removes a vault extension method that does not have a separate event handler proxy.
(Inherited from VaultApplicationBase.)
Protected methodReportMetadataStructureValidationErrors
Handles the validation results. By default only outputs errors to event log.
(Inherited from VaultApplicationBase.)
Public methodRun
Invokes all methods that have the MFEventHandlerAttribute and are applicable to this event.
(Inherited from VaultApplicationBase.)
Public methodRunStateAction
Invokes the state run action handlers.
(Inherited from VaultApplicationBase.)
Public methodSaveConfiguration
Saves a new configuration value for the node. Only safe to call if GetCapabilities returns the Configuration flag.
Public methodSetApplicationLicense
Setting in new license content. Gets called after application instantiation before Initialize(), and also when a new license is applyed from MF-Admin.
(Inherited from VaultApplicationBase.)
Protected methodSetCallingThreadCulture
Sets the current thread culture according to the current user's culture.
(Inherited from VaultApplicationBase.)
Protected methodShouldUpdateScript
Checks if the script should be updated. The script should be updated only if the old script was automatically generated and the new script differs from the old one.
(Inherited from VaultApplicationBase.)
Protected methodStartApplication
Protected overridable for the child classes to override instead of StartOperations. PermanentVault is initialized and should be used as the vault connection. StartApplication should be used to start recurring background operations.
(Inherited from VaultApplicationBase.)
Public methodStartOperations
Starts the vault operations in the specified vault. The method e.g. begins to use the vault in a background job.
(Inherited from VaultApplicationBase.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodUninitialize
Un-initializes the vault application in the specified vault.
(Inherited from VaultApplicationBase.)
Protected methodUninitializeApplication
Protected overridable for the child classes to override instead of Uninitialize. UninitializeApplication can be used make changes in the vault structure.
(Inherited from VaultApplicationBase.)
Protected methodUninitializeImpl
Un-initializes the vault application in the specified vault.
(Inherited from VaultApplicationBase.)
Public methodUninstall
Uninstall the application.
(Inherited from VaultApplicationBase.)
Protected methodUninstallApplication
Protected overridable for the child classes to override instead of Uninitialize. UninstallApplication can be used to prevent uninstallation of the application. UninstallApplication should also uninstall any additional required components, that were installed by the InstallApplication-method. UninstallApplication cannot make changes to the vault structure.
(Inherited from VaultApplicationBase.)
Public methodValidate
Validates the node along with the current, or passed configuration text. Only safe to call if GetCapabilities returns the Validation flag.
Protected methodValidateConfigurationAttributes
Does internal "old school" validation based on configuration attributes.
Protected methodValidateMetadataStructure
Validates the application and all types in the same assembly.
(Inherited from VaultApplicationBase.)
Public methodValidatePropertyValue
Invokes all property validation handlers.
(Inherited from VaultApplicationBase.)
Top
Fields
  NameDescription
Protected fieldapplicationRunningStatus
Indicates the application running status. This is volatile because the value can be accessed from multiple threads to avoid caching delays -- the enumeration read and write itself is atomic.
(Inherited from VaultApplicationBase.)
Protected fieldcacheEventSink
The vault listeners registered to update the metadatastructurecache backing vault instances.
(Inherited from VaultApplicationBase.)
Protected fieldeventHandlerMethods
Collections of the event handling methods.
(Inherited from VaultApplicationBase.)
Protected fieldeventSourceIdentifier
The application event source identifier that is used in conjunction with the Windows event log.
(Inherited from VaultApplicationBase.)
Protected fieldMaxTimeToWaitBackgroundOperationsAtUninitialization
Defines how long the background operations can be waited at uninitialization.
(Inherited from VaultApplicationBase.)
Protected fieldpropertyMethods
Collection of property extension methods by property.
(Inherited from VaultApplicationBase.)
Protected fieldstateMethods
Collection of state extension methods by state.
(Inherited from VaultApplicationBase.)
Protected fieldstateTransitionMethods
Collection of state transition extension methods by state.
(Inherited from VaultApplicationBase.)
Protected fieldunusedVaultExtensionNames
List of vault extension method names which are known but not used.
(Inherited from VaultApplicationBase.)
Protected fieldvaultExtensionMethods
Collection of vault extension methods by name.
(Inherited from VaultApplicationBase.)
Top
Extension Methods
  NameDescription
Public Extension MethodAssertCapable
Throws an exception if a node does not support a certain capability.
(Defined by ConfigurationDomainNodeExtensionMethods.)
Public Extension MethodIsCapable
Determines whether a node supports a certain capability. Capabilities correspond to interface methods that are valid to call on a node.
(Defined by ConfigurationDomainNodeExtensionMethods.)
Top
See Also