Interface IUpdateConstraint
The constraint to be applied to an update operation or the creation of an update stream.
Namespace: PushTechnology.ClientInterface.Client.Features
Assembly: Diffusion.Client.dll
Syntax
public interface IUpdateConstraint
Remarks
Constraints describe a condition that must be satisfied for an operation to succeed. Constraints can be applied to the setting of a value or creation of an update stream. Constraints are only evaluated on the server.
The constraints are evaluated using the:
- active session locks
- existence of the topic
- current value of the topic
The value of a topic can be described in several ways. The value can be described as an exact value, a partial value or an unset value.
Constraints can be composed with one another using logical ANDs or ORs. It is possible to compose a constraint that can never be satisfied although certain combinations, such as ANDing two incompatible constraints, are prevented. Multiple session locks can be held but a topic can only have a single value.
Constraints can be created using a IUpdateConstraintFactory, an instance of which can be obtained using UpdateConstraints.
For example:
var factory = Diffusion.UpdateConstraints;
var constraint = factory.Locked(lock).And( factory.Value( EQ, expectedValue ) );
Methods
And(IUpdateConstraint)
Creates a composed constraint that represents a logical AND of this constraint and another.
Declaration
IUpdateConstraint And(IUpdateConstraint other)
Parameters
Type | Name | Description |
---|---|---|
IUpdateConstraint | other | The constraint that will be logically-ANDed with the current constraint. |
Returns
Type | Description |
---|---|
IUpdateConstraint | The newly composed constraint that represents a logical AND of the current constraint and the
|
Or(IUpdateConstraint)
Creates a composed constraint that represents a logical OR of this constraint and another.
Declaration
IUpdateConstraint Or(IUpdateConstraint other)
Parameters
Type | Name | Description |
---|---|---|
IUpdateConstraint | other | The constraint that will be logically-ORed with the current constraint. |
Returns
Type | Description |
---|---|
IUpdateConstraint | The newly composed constraint that represents a logical OR of the current constraint and the
|
Remarks
Since 6.10.