Class ReactiveQubjectFactoryBase<TInput, TOutput>
Base class for the implementation of subject factories represented by an expression tree.
Inheritance
Namespace: Reaqtor
Assembly: Reaqtor.Expressions.Core.dll
Syntax
public abstract class ReactiveQubjectFactoryBase<TInput, TOutput> : Object, IReactiveQubjectFactory<TInput, TOutput>, IReactiveSubjectFactory<TInput, TOutput>, IReactiveExpressible, IExpressible
Type Parameters
Name | Description |
---|---|
TInput | Type of the data received by the subjects created by the factory. |
TOutput | Type of the data produced by the subjects created by the factory. |
Constructors
ReactiveQubjectFactoryBase(IReactiveQueryProvider)
Creates a new subject factory represented by an expression tree, using the specified associated query provider.
Declaration
protected ReactiveQubjectFactoryBase(IReactiveQueryProvider provider)
Parameters
Type | Name | Description |
---|---|---|
IReactiveQueryProvider | provider | Query provider associated with the subject factory. |
Properties
Expression
Gets the expression tree representing the subject factory.
Declaration
public abstract Expression Expression { get; }
Property Value
Type | Description |
---|---|
System.Linq.Expressions.Expression |
Provider
Gets the query provider that is associated with the subject factory.
Declaration
public IReactiveQueryProvider Provider { get; }
Property Value
Type | Description |
---|---|
IReactiveQueryProvider |
Methods
Create(Uri, Object)
Creates a new stream with the specified stream URI.
Declaration
public IReactiveQubject<TInput, TOutput> Create(Uri streamUri, object state = null)
Parameters
Type | Name | Description |
---|---|---|
System.Uri | streamUri | URI identifying the stream. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
Returns
Type | Description |
---|---|
IReactiveQubject<TInput, TOutput> | A subject object that can be used to send and receive data on the stream, or an exception if the creation request was unsuccessful. |
CreateCore(Uri, Object)
Creates a new stream with the specified stream URI.
Declaration
protected abstract IReactiveQubject<TInput, TOutput> CreateCore(Uri streamUri, object state)
Parameters
Type | Name | Description |
---|---|---|
System.Uri | streamUri | URI identifying the stream. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
Returns
Type | Description |
---|---|
IReactiveQubject<TInput, TOutput> | A subject object that can be used to send and receive data on the stream, or an exception if the creation request was unsuccessful. |
Explicit Interface Implementations
IReactiveSubjectFactory<TInput, TOutput>.Create(Uri, Object)
Creates a new stream with the specified stream URI.
Declaration
IReactiveSubject<TInput, TOutput> IReactiveSubjectFactory<TInput, TOutput>.Create(Uri streamUri, object state)
Parameters
Type | Name | Description |
---|---|---|
System.Uri | streamUri | URI identifying the stream. |
System.Object | state | Additional metadata to associate with the artifact. Implementations can interpret this value, or ignore it. |
Returns
Type | Description |
---|---|
IReactiveSubject<TInput, TOutput> | A subject object that can be used to send and receive data on the stream, or an exception if the creation request was unsuccessful. |