TINMAN 3D / REALTIME TERRAIN
Software Development Kit - User Manual

class ConfiguratorBase in Tinman.Core.Config.Binding

Abstract base class for IConfigurator implementations.

abstract class ConfiguratorBase with <T>  
  implements IConfigurator<T>
  base of ConfiguratorEnum
  ConfiguratorObject

Public / Attributes

Type

Returns the configuration type of this configurator.

public abstract property Type { get }
type ConfigType
value [not-null] The configuration type.
implements IConfiguratorBase.Type

Public / Methods

FromField

Creates a new instance from a field of the given configuration value.

[OwnerReturn]
public method FromField (ConfigValue config, string field)
type T
params config [not-null] The configuration value.
  field [not-null] Field name.
returns [not-null] The created instance.
implements IConfigurator.FromField

FromScript

Creates a new instance from the given configuration entity.

[OwnerReturn]
public method FromScript (ConfigScript script, string name)
type T
params script [not-null] The config script.
  name [not-null] Name of the entity.
returns [not-null] The created instance.
implements IConfigurator.FromScript

FromValue

Creates a new instance from the given configuration value.

[OwnerReturn]
public virtual method FromValue (ConfigValue config)
type T
params config [not-null] The configuration value.
returns [not-null] The created instance.
implements IConfigurator.FromValue

FromValueArray

Creates an array of instances from the given configuration value.

[OwnerReturn]
public method FromValueArray (ConfigValue config)
type T[]
params config [not-null] The configuration value.
returns The resulting array or null if config contains zero elements.
implements IConfigurator.FromValueArray

FromValueList

Creates an array of instances from the given configuration value.

[OwnerReturn]
public method FromValueList (ConfigValue config)
type IVector<T>
params config [not-null] The configuration value.
returns The resulting array or null if config contains zero elements.
implements IConfigurator.FromValueList

PleaseIncludeInBinaryThanks

This is a no-op method that forces the compiler / linker to include this type in the resulting binary.

public method PleaseIncludeInBinaryThanks ()
implements IPleaseIncludeInBinaryThanks.PleaseIncludeInBinaryThanks

Remarks:

Calling this stub method makes sure that all lazy constructor calls have been made.

To initialize everything, an application needs to call this method on its root module(s) (see TinmanModule), followed by a call to PleaseIncludeInBinaryThanksAll.

ToValue

Returns the configuration value that describes the given object.

public abstract method ToValue (T instance)
type ConfigValue
params instance The object.
returns [not-null] The configuration value.
implements IConfigurator.ToValue

Remarks:

The returned value may be of type Invalid, which means that the given object in its current state cannot be described with the configuration API.

ToValueArray

Returns the configuration value that describes the given objects.

public method ToValueArray (T[] instances)
type ConfigValue
params instances The object.
returns [not-null] The configuration array value.
implements IConfigurator.ToValueArray

Remarks:

The returned value may be of type Invalid, which means that the given object in its current state cannot be described with the configuration API.

ToValueList

Returns the configuration value that describes the given objects.

public method ToValueList (IVectorConst<T> instances)
type ConfigValue
params instances The object.
returns [not-null] The configuration array value.
implements IConfigurator.ToValueList

Remarks:

The returned value may be of type Invalid, which means that the given object in its current state cannot be described with the configuration API.

Protected / Methods

DoFromValue

Configures a native value from the given config value.

[OwnerReturn]
protected virtual method DoFromValue (ConfigValue config)
type T
params config The config value (will never be null).
returns The configured native value.

Remarks:

If the implementing method does not know how to configure a native object from config, it can try to delegate to a more specific configurator by calling the base implementation.

This default implementation always throws a ConfigException.

The default implementation of ConfiguratorObject delegates the process of configuring a native object from config to a more specific configurator, defined by a derived type of Type.