Defining Dataview Conditions

When defining a search condition, you must specify the path to the attribute, the operator and optionally, its value and parameter name.

The createDataView and getCaseReferencesForDataView operations allow you to define conditions on searchable attributes.

Defining the attribute path consists of either:

  • attribute of the case class, for example, orderID.
  • the name of a composition relationship of the case class, for example, orderLines, orderID and orderDate).
  • the dot-separated path to an attribute within a contained/associated case data object, for example, dispatchNote.dateOfDispatch or orderLines.quantity. If [] is shown, then there can be more than one.

If there is more than one attribute then, by default, it matches if any of its values satisfy the condition. Therefore, you can specify:

  • [ALL] to indicate that all values must match.
  • [i] to indicate a given value within a list of multiple values that must match.

The table below describes some examples.

Example Matches
orderId
an attribute called orderId.
comments
any value of an attribute called comments.
comments[ALL]
all values of an attribute called comments.
comments[0]
the first (index zero) value of an attribute called comments.
orderLines
the composition relationship of an attribute called orderLines. If this attribute is multiplicity-many, you can use the SIZE operators, see
orderLines.quantity
The quantity attribute of any of the order line objects referred to by an attribute called orderLines.
orderLines[ALL].quantity
The Type: quantitiy attribute of all of the order line objects referred to by an attribute called orderLines.
orderLines.orderItem.ItemEvents[ALL].description
The description attribute of all of the itemEvent objects referred to by the OrderItem object of any orderline object referred to by orderLines. There must be at least one order line where all item events match.
orderLines[ALL].orderItem.itemEvents.description
The description attribute of any of the itemEvent objects referred to by the orderItem object of all order line objects referred to by orderLines. Every order line must have at least one matching item event.
orderLines[ALL].orderItem.itemEvents[ALL].description
The description attribute of all of the item event objects referred to by the order item object of all order line objects referred to by order lines. All item events must match.
dispatchNote
This is a reference to a global object, so only NULL and NOT_NULL operators are valid