UnresolvedFilterExpression Properties |
The UnresolvedFilterExpression type exposes the following members.
Name | Description | |
---|---|---|
![]() | ExpressionState |
A filter expression can be in one of three states:
- Unresolved: We don't know for sure that the property/field exists, the operator may be invalid and the filter value may be of a wrong data type.
- Validated: Property/field has been validated and the operator has been validated according to the property/field.
The filter value data type has been validated according to the property/field.
- Converted: Same as Validated. Additionally the filter value can't contain Guid ids.
|
![]() | FilterValue |
If the ExpressionState is UNRESOLVED then the data type one of the following:
>
string, int, DateTime, IEnumerable<int>, IEnumerable<Guid>, bool or Guid
If the ExpressionState is VALIDATED then the data type is ensured to be valid corresponding to the following table: > Value property - Text : { string } Value property - Integer : { int } Value property - DateTime : { DateTime } Value property - Boolean : { bool } Set property : { int, IEnumerable<int>, Guid, IEnumerable<Guid> } Reference property : { int, IEnumerable<int>, Guid, IEnumerable<Guid> } DateTime fixed field : { DateTime } Integer fixed field : { int, IEnumerable<int> } Id-reference fixed field : { int, IEnumerable<int>, Guid, IEnumerable<Guid> } String fixed field : { string } Boolean fixed field : { bool } Enum fixed field : { int, IEnumerable<int> } If the ExpressionState is CONVERTED then the data type is ensured to be valid corresponding to the following table: > Value property - Text : { string } Value property - Integer : { int } Value property - DateTime : { DateTime } Value property - Boolean : { bool } Set property : { int, IEnumerable<int> } Reference property : { int, IEnumerable<int> } DateTime fixed field : { DateTime } Integer fixed field : { int, IEnumerable<int> } Id-reference fixed field : { int, IEnumerable<int> } String fixed field : { string } Boolean fixed field : { bool } Enum fixed field : { int, IEnumerable<int> } |
![]() | IsResolved |
Has the expression been resolved/validated?
If so we know that:
- the operator is legal to be used on the expression property
- the filter value has a legal data type for comparing with a value for the expression property
|
![]() | IsResolvedExpressionForDataObjectReferenceField |
Is expression resolved and for either a reference property or a dataobject-referencing fixed field?
|
![]() | IsResolvedExpressionForProperty |
Has the expression been resolved/validated and is the "left side" a property? (and not a fixed field)
|
![]() | Operator |
Expression inner operator
|
![]() | Path |
Reference path that expresses the data objects that the filter expression must filter on.
If a path is stated then reference property value(s) must exist that meet the requirements of the path and left/operator/right expression in order to evaluate to true.
Can be null - in which case the expression is evaluated directly on the object to which it is applied.
If a path is stated then the evaluator finds the result of the path using the object (which the expression is evaluated against) as starting point. It then evaluates the left/operator/right expression on the result of the path expression. For example, if we're applying an expression on resource assignment data objects, and we only want those where the assigned resource belongs to a specific system, we could add the following expression: Path: /ROLEREF/SYSTEMREF Property: ID Operator: Equals FilterValue: { id of a specific system } |
![]() | Property |
System name of the property or FixedField being filtered on.
Case-insensitive.
The following fixed fields are supported:
CreateTime, CreatedBy, ChangeTime, ChangedBy, Number, Type, UserName, Id, ActivityState, ProcessState, Template, Inactive, DisplayName
|
![]() | PropertyType |
Can only be accessed if IsResolvedExpressionForProperty is true.
|
Name | Description | |
---|---|---|
![]() ![]() | IUnresolvedFilterExpressionFilterValue |
Comparison value.
Can be null.
|
![]() ![]() | IUnresolvedFilterExpressionOperator |
Operator applied in the filter expression.
The set of legal operators depends on "Property".
|
![]() ![]() | IUnresolvedFilterExpressionPath |
Reference path that expresses the data objects that the filter expression must filter on.
If a reference path is stated then reference property value(s) must exist that meet the requirements of the path and left/operator/right expression.
Can be null - in which case the filter expression filters directly on the data objects that are being loaded.
The path is applied to the data objects that are being loaded. For example, if we're loading resource assignment data objects, and we only want those where the assigned resource belongs to a specific system, we could add the following expression: Path: /ROLEREF/SYSTEMREF Property: ID Operator: Equals FilterValue: { id of a specific system } |
![]() ![]() | IUnresolvedFilterExpressionProperty |
System name of the property being filtered on.
Case-insensitive.
Can also denote the fixed field "Type".
An unresolved expression for "Type" is, however, not resolved into a filter expression.
Instead it is resolved and assigned to DataObjectFilter.TypeIds .
|