Class ParameterFactory
A helper class for constructing a Phoenix.Views.Parameters.IParameter from brain parameters.
Inherited Members
Namespace: Phoenix.BotBrain.Parameters
Assembly: Phoenix.Plugin.BotBrain.Parameters.dll
Syntax
public class ParameterFactory : ViewModelBase, INotifyPropertyChanged, IParameterFactoryRemarks
Initializes a new instance of the ParameterFactory class.
Constructors
View SourceParameterFactory(IPhoenixLogger, IMetadataAccess)
A helper class for constructing a Phoenix.Views.Parameters.IParameter from brain parameters.
Declaration
public ParameterFactory(IPhoenixLogger logger, IMetadataAccess metadata)Parameters
| Type | Name | Description | 
|---|---|---|
| IPhoenixLogger | logger | The logger. | 
| IMetadataAccess | metadata | The parameter metadata container. | 
Remarks
Initializes a new instance of the ParameterFactory class.
Properties
View SourceMetadata
Gets the parameter metadata container.
Declaration
protected IMetadataAccess Metadata { get; }Property Value
| Type | Description | 
|---|---|
| IMetadataAccess | 
Methods
View SourceConfigure(ParameterMetadata, ParameterInfo, bool)
Configures the parameter for display.
Declaration
protected virtual void Configure(ParameterMetadata metadata, ParameterInfo info, bool setDefaultValue = true)Parameters
| Type | Name | Description | 
|---|---|---|
| ParameterMetadata | metadata | The parameter metadata. | 
| ParameterInfo | info | The parameter info. | 
| bool | setDefaultValue | If true, sets the default value. | 
ConfigureComboBoxEnumParameter(ParameterMetadata, ParameterInfo, bool)
Configures the parameter as a ComboBox of the given enum type, with an optional default value.
Declaration
protected static void ConfigureComboBoxEnumParameter(ParameterMetadata metadata, ParameterInfo info, bool setDefaultValue)Parameters
| Type | Name | Description | 
|---|---|---|
| ParameterMetadata | metadata | The parameter metadata. | 
| ParameterInfo | info | The parameter info. | 
| bool | setDefaultValue | If true, sets the default value. | 
ConfigureDefaults(ParameterMetadata, ParameterInfo)
Configures the parameter for display, when its metadata is missing.
Declaration
protected virtual void ConfigureDefaults(ParameterMetadata metadata, ParameterInfo info)Parameters
| Type | Name | Description | 
|---|---|---|
| ParameterMetadata | metadata | The parameter metadata. | 
| ParameterInfo | info | The parameter info. | 
ConfigureDefaultsForDisplayType(ParameterMetadata, ParameterInfo, ParameterDisplayType, bool)
Configures the parameter data for display.
Declaration
protected virtual void ConfigureDefaultsForDisplayType(ParameterMetadata metadata, ParameterInfo info, ParameterDisplayType displayType, bool setDefaultValue = true)Parameters
| Type | Name | Description | 
|---|---|---|
| ParameterMetadata | metadata | The parameter metadata. | 
| ParameterInfo | info | The parameter info. | 
| ParameterDisplayType | displayType | The parameter display type. | 
| bool | setDefaultValue | If true, sets the default value. | 
ConfigureParameterRange(ParameterMetadata, ParameterInfo, ParameterRange)
Configures the parameter for displaying a range of values.
Declaration
protected virtual void ConfigureParameterRange(ParameterMetadata metadata, ParameterInfo info, ParameterRange range)Parameters
| Type | Name | Description | 
|---|---|---|
| ParameterMetadata | metadata | The parameter metadata. | 
| ParameterInfo | info | The parameter info. | 
| ParameterRange | range | The parameter range. | 
ConfigureTickFrequency(ParameterMetadata, ParameterInfo, ParameterRange)
Configures the parameter for displaying a range between a minimum and maximum value.
Declaration
protected virtual void ConfigureTickFrequency(ParameterMetadata metadata, ParameterInfo info, ParameterRange range)Parameters
| Type | Name | Description | 
|---|---|---|
| ParameterMetadata | metadata | The parameter metadata. | 
| ParameterInfo | info | The parameter info. | 
| ParameterRange | range | The parameter range. | 
Create(ParameterMetadata, string, string, IParameterManager, bool)
Creates the parameter object for a given parameter.
Declaration
public IParameter Create(ParameterMetadata metadata, string name, string fullName, IParameterManager parameters, bool setDefaultValue = true)Parameters
| Type | Name | Description | 
|---|---|---|
| ParameterMetadata | metadata | The parameter metadata. | 
| string | name | The parameter name. | 
| string | fullName | The fully qualified parameter name. | 
| IParameterManager | parameters | The parameter manager. | 
| bool | setDefaultValue | Whether or not to set a default value for null parameters. | 
Returns
| Type | Description | 
|---|---|
| IParameter | The parameter object. | 
Create(string[], IParameterManager, bool)
Creates the parameter object for a given parameter.
Declaration
public IParameter Create(string[] names, IParameterManager parameters, bool setDefaultValue = true)Parameters
| Type | Name | Description | 
|---|---|---|
| string[] | names | The possible parameter names. | 
| IParameterManager | parameters | The parameter manager. | 
| bool | setDefaultValue | Whether or not to set a default value for null parameters. | 
Returns
| Type | Description | 
|---|---|
| IParameter | The parameter object. | 
CreateEditable(ParameterMetadata, string, string, string, IParameterManager, bool, Action?)
Creates the editable parameter object for a given parameter.
Declaration
public virtual IParameter CreateEditable(ParameterMetadata metadata, string name, string fullName, string desiredName, IParameterManager parameters, bool setDefaultValue = true, Action? onValueChanged = null)Parameters
| Type | Name | Description | 
|---|---|---|
| ParameterMetadata | metadata | The parameter metadata. | 
| string | name | The parameter's short name. | 
| string | fullName | The qualified parameter name used to retrieve the initial value. | 
| string | desiredName | The qualified parameter name used to set its value. | 
| IParameterManager | parameters | The parameter manager. | 
| bool | setDefaultValue | Whether or not to set a default value for null parameters. | 
| Action | onValueChanged | An optional callback for when the value is changed. | 
Returns
| Type | Description | 
|---|---|
| IParameter | The parameter object. | 
CreateEditable(string[], IParameterManager, bool, Action?)
Creates the editable parameter object for a given parameter.
Declaration
public virtual IParameter CreateEditable(string[] names, IParameterManager parameters, bool setDefaultValue = true, Action? onValueChanged = null)Parameters
| Type | Name | Description | 
|---|---|---|
| string[] | names | The parameter names. | 
| IParameterManager | parameters | The parameter manager. | 
| bool | setDefaultValue | Whether or not to set a default value for null parameters. | 
| Action | onValueChanged | An optional callback for when the value is changed. | 
Returns
| Type | Description | 
|---|---|
| IParameter | The parameter object. | 
CreateWithValue(ParameterMetadata, string, object?, bool)
Creates the parameter object with an initial value for a given parameter.
Declaration
public IParameter CreateWithValue(ParameterMetadata metadata, string name, object? value, bool setDefaultValue = true)Parameters
| Type | Name | Description | 
|---|---|---|
| ParameterMetadata | metadata | The parameter metadata. | 
| string | name | The parameter name. | 
| object | value | The parameter value. | 
| bool | setDefaultValue | Whether or not to set a default value for null parameters. | 
Returns
| Type | Description | 
|---|---|
| IParameter | The parameter object. | 
CreateWithValue(string, object, bool)
Creates the parameter object with an initial value for a given parameter.
Declaration
public IParameter CreateWithValue(string name, object value, bool setDefaultValue = true)Parameters
| Type | Name | Description | 
|---|---|---|
| string | name | The parameter name. | 
| object | value | The parameter value. | 
| bool | setDefaultValue | Whether or not to set a default value for null parameters. | 
Returns
| Type | Description | 
|---|---|
| IParameter | The parameter object. | 
IsTimeSpanParameter(ParameterMetadata)
Determines whether or not the given parameter represents a TimeSpan.
Declaration
protected virtual bool IsTimeSpanParameter(ParameterMetadata metadata)Parameters
| Type | Name | Description | 
|---|---|---|
| ParameterMetadata | metadata | The parameter metadata. | 
Returns
| Type | Description | 
|---|---|
| bool | A boolean. | 
IsTimeSpanParameter(string)
Determines whether or not the given parameter represents a TimeSpan.
Declaration
protected virtual bool IsTimeSpanParameter(string name)Parameters
| Type | Name | Description | 
|---|---|---|
| string | name | The parameter name. | 
Returns
| Type | Description | 
|---|---|
| bool | A boolean. | 
SaveParameterValue(ParameterMetadata, IEditableParameter, string, IParameterManager)
Saves an edited parameter value.
Declaration
protected virtual void SaveParameterValue(ParameterMetadata metadata, IEditableParameter param, string desiredName, IParameterManager parameters)Parameters
| Type | Name | Description | 
|---|---|---|
| ParameterMetadata | metadata | The parameter metadata. | 
| IEditableParameter | param | The parameter. | 
| string | desiredName | The qualified parameter name used to set its value. | 
| IParameterManager | parameters | The parameter manager. |