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, IParameterFactory
Remarks
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. |