C# Class ExoModel.ModelSource

Utility class that supports accessing the value of a property along a static or instance source path.
Show file Open project: vc3/ExoModel Class Usage Examples

Private Properties

Property Type Description
InitializeFromModelPath void
InitializeFromTypeAndPath bool
ModelSource System

Public Methods

Method Description
GetFormattedValue ( ModelInstance root ) : string

Gets the formatted value of the property for the current source path.

GetFormattedValue ( ModelInstance root, object &rawValue ) : string

Gets the formatted value of the property for the current source path.

GetFormattedValue ( ModelInstance root, string format ) : string

Gets the formatted value of the property for the current source path.

GetFormattedValue ( ModelInstance root, string format, IFormatProvider provider, object &rawValue ) : string

Gets the formatted value of the property for the current source path.

GetFormattedValue ( ModelInstance root, string format, object &rawValue ) : string

Gets the formatted value of the property for the current source path.

GetList ( ModelInstance root ) : ModelInstanceList

Gets the ModelInstanceList defined by specified source path.

GetModelProperties ( ModelType root ) : IEnumerable

Walks the steps of the ModelSource

GetModelProperty ( ModelType root ) : ModelProperty

Fetches a ModelProperty based on the root ModelType

GetReference ( ModelInstance root ) : ModelInstance

Gets the ModelInstance defined by specified source path.

GetSource ( ModelInstance root ) : IModelPropertySource
GetSource ( ModelInstance root, Func whenNull ) : IModelPropertySource
GetValue ( ModelInstance root ) : object

Gets the underlying value of the property for the current source path.

HasValue ( ModelInstance root ) : bool

Determines whether the value of the property along the source path has a value or not.

If any value along the source path is null, false will be returned. If the source property is a list, false will be returned if the list is empty.

ModelSource ( ModelPath path ) : System

Creates a new ModelSource for the specified root type and path.

ModelSource ( ModelType rootType, string path ) : System

Creates a new ModelSource for the specified root type and path.

SetValue ( ModelInstance root, object value ) : bool
SetValue ( ModelInstance root, object value, Func whenNull ) : bool
ToString ( ) : string

Gets the string representation of the source path.

TryGetSource ( ModelType rootType, string path, ModelSource &source ) : bool

Attempts to create a new ModelSource for the specified root type and path.

TryGetSource ( ModelType rootType, string path, ModelSource &source, ModelProperty &sourceProperty ) : bool

Attempts to create a new ModelSource for the specified root type and path.

Private Methods

Method Description
InitializeFromModelPath ( ModelPath instancePath, string path, ModelProperty &sourceProperty ) : void

Initialize the source from a valid ModelPath

InitializeFromTypeAndPath ( ModelType rootType, string path, ModelProperty &sourceProperty ) : bool

Attempts to initialize a ModelSource with the specified root type and path.

ModelSource ( ) : System

Method Details

GetFormattedValue() public method

Gets the formatted value of the property for the current source path.
public GetFormattedValue ( ModelInstance root ) : string
root ModelInstance
return string

GetFormattedValue() public method

Gets the formatted value of the property for the current source path.
public GetFormattedValue ( ModelInstance root, object &rawValue ) : string
root ModelInstance
rawValue object
return string

GetFormattedValue() public method

Gets the formatted value of the property for the current source path.
public GetFormattedValue ( ModelInstance root, string format ) : string
root ModelInstance
format string The specific format to use
return string

GetFormattedValue() public method

Gets the formatted value of the property for the current source path.
public GetFormattedValue ( ModelInstance root, string format, IFormatProvider provider, object &rawValue ) : string
root ModelInstance
format string
provider IFormatProvider
rawValue object
return string

GetFormattedValue() public method

Gets the formatted value of the property for the current source path.
public GetFormattedValue ( ModelInstance root, string format, object &rawValue ) : string
root ModelInstance
format string
rawValue object
return string

GetList() public method

Gets the ModelInstanceList defined by specified source path.
public GetList ( ModelInstance root ) : ModelInstanceList
root ModelInstance
return ModelInstanceList

GetModelProperties() public method

Walks the steps of the ModelSource
public GetModelProperties ( ModelType root ) : IEnumerable
root ModelType The root type from which the property should be inferred
return IEnumerable

GetModelProperty() public method

Fetches a ModelProperty based on the root ModelType
public GetModelProperty ( ModelType root ) : ModelProperty
root ModelType The root type from which the property should be inferred
return ModelProperty

GetReference() public method

Gets the ModelInstance defined by specified source path.
public GetReference ( ModelInstance root ) : ModelInstance
root ModelInstance
return ModelInstance

GetSource() public method

public GetSource ( ModelInstance root ) : IModelPropertySource
root ModelInstance
return IModelPropertySource

GetSource() public method

public GetSource ( ModelInstance root, Func whenNull ) : IModelPropertySource
root ModelInstance
whenNull Func
return IModelPropertySource

GetValue() public method

Gets the underlying value of the property for the current source path.
public GetValue ( ModelInstance root ) : object
root ModelInstance
return object

HasValue() public method

Determines whether the value of the property along the source path has a value or not.
If any value along the source path is null, false will be returned. If the source property is a list, false will be returned if the list is empty.
public HasValue ( ModelInstance root ) : bool
root ModelInstance
return bool

ModelSource() public method

Creates a new ModelSource for the specified root type and path.
public ModelSource ( ModelPath path ) : System
path ModelPath The source model path
return System

ModelSource() public method

Creates a new ModelSource for the specified root type and path.
public ModelSource ( ModelType rootType, string path ) : System
rootType ModelType The root type name, which is required for instance paths
path string The source path, which is either an instance path or a static path
return System

SetValue() public method

public SetValue ( ModelInstance root, object value ) : bool
root ModelInstance
value object
return bool

SetValue() public method

public SetValue ( ModelInstance root, object value, Func whenNull ) : bool
root ModelInstance
value object
whenNull Func
return bool

ToString() public method

Gets the string representation of the source path.
public ToString ( ) : string
return string

TryGetSource() public static method

Attempts to create a new ModelSource for the specified root type and path.
public static TryGetSource ( ModelType rootType, string path, ModelSource &source ) : bool
rootType ModelType The root type name, which is required for instance paths
path string The source path, which is either an instance path or a static path
source ModelSource
return bool

TryGetSource() public static method

Attempts to create a new ModelSource for the specified root type and path.
public static TryGetSource ( ModelType rootType, string path, ModelSource &source, ModelProperty &sourceProperty ) : bool
rootType ModelType The root type name, which is required for instance paths
path string The source path, which is either an instance path or a static path
source ModelSource
sourceProperty ModelProperty
return bool