package opc.ua.services.common;

public enum FilterOperator {

	/**
Equals_0                 2     TRUE if operand[0] is equal to operand[1].
                               If the operands are of different types, the system shall perform any implicit
                               conversion to a common type. This operator resolves to FALSE if no implicit
                               conversion is available and the operands are of different types. This operator returns
                               FALSE if the implicit conversion fails. See the discussion on data type precedence in
                               Table 114 for more information how to convert operands of different types.
IsNull_1                 1     TRUE if operand[0] is a null value.
GreaterThan_2            2     TRUE if operand[0] is greater than operand[1].
                               The following restrictions apply to the operands:
                                   [0]: Any operand that resolves to an ordered value.
                                   [1]: Any operand that resolves to an ordered value.
                               The same conversion rules as defined for Equals apply.
LessThan_3               2     TRUE if operand[0] is less than operand[1].
                               The same conversion rules and restrictions as defined for GreaterThan apply.
GreaterThanOrEqual_4     2     TRUE if operand[0] is greater than or equal to operand[1].
                               The same conversion rules and restrictions as defined for GreaterThan apply.
LessThanOrEqual_5        2     TRUE if operand[0] is less than or equal to operand[1].
                               The same conversion rules and restrictions as defined for GreaterThan apply.
Like_6                   2     TRUE if operand[0] matches a pattern defined by operand[1]. See Table 112 for the
                               definition of the pattern syntax.
                               The following restructions apply to the operands:
                                   [0]: Any operand that resolves to a String.
                                   [1]: Any operand that resolves to a String.
                               This operator resolves to FALSE if any operand can not be resolved to a string.
Not_7                    1     TRUE if operand[0] is FALSE.
                               The following restructions apply to the operands:
                                   [0]: Any operand that resolves to a Boolean.
                               If the operand can not be resolved to a Boolean, the result is a NULL. See below for
                               a discussion on the handling of NULL.
Between_8                3     TRUE if operand[0] is greater or equal to operand[1] and less than or equal to
                               operand[2].
                               The following restructions apply to the operands:
                                   [0]: Any operand that resolves to an ordered value.
                                   [1]: Any operand that resolves to an ordered value.
                                   [2]: Any operand that resolves to an ordered value.
                               If the operands are of different types, the system shall perform any implicit
                               conversion to match all operands to a common type. If no implicit conversion is
                               available and the operands are of different types, the particular result is FALSE. See
                               the discussion on data type precedence in Table 114 for more information how to
                               convert operands of different types.
InList_9                2..n   TRUE if operand[0] is equal to one or more of the remaining operands.
                               The Equals Operator is evaluated for operand[0] and each remaining operand in the
                               list. If any Equals evaluation is TRUE, InList returns TRUE.
And_10                   2     TRUE if operand[0] and operand[1] are TRUE.
                               The following restructions apply to the operands:
                                   [0]: Any operand that resolves to a Boolean.
                                   [1]: Any operand that resolves to a Boolean.
                               If any operand can not be resolved to a Boolean it is considered a NULL. See below
                               for a discussion on the handling of NULL.
Or_11                    2     TRUE if operand[0] or operand[1] are TRUE.
                               The following restructions apply to the operands:
                                   [0]: Any operand that resolves to a Boolean.
                                   [1]: Any operand that resolves to a Boolean.
                               If any operand can not be resolved to a Boolean it is considered a NULL. See below
                               for a discussion on the handling of NULL.
Cast_12                  2     Converts operand[0] to a value with a data type with a NodeId identified by
                               operand[1].
                               The following restructions apply to the operands:
                                   [0]: Any operand.
                                   [1]: Any operand that resolves to a NodeId or ExpandedNodeId where the Node
                               is of the NodeClass DataType.
                               If there is any error in conversion or in any of the parameters then the Cast
                               Operation evaluates to a NULL. See below for a discussion on the handling of NULL.
BitwiseAnd_16            2     The result is an integer which matches the size of the largest operand and contains a
                               bitwise And operation of the two operands where both have been converted to the
                               lsame size (largest of the two operands)
                               The following restructions apply to the operands:
                                  [0]: Any operand that resolves to a integer.
                                  [1]: Any operand that resolves to a integer.
                               If any operand can not be resolved to a integer it is considered a NULL. See below
                               for a discussion on the handling of NULL.
BitwiseOr_17             2     The result is an integer which matches the size of the largest operand and contains a
                               bitwise Or operation of the two operands where both have been converted to the
                               lsame size (largest of the two operands)
                               The following restructions apply to the operands:
                                  [0]: Any operand that resolves to a Integer.
                                  [1]: Any operand that resolves to a Integer.
                               If any operand can not be resolved to a Integer it is considered a NULL. See below
                               for a discussion on the handling of NULL.

	 */
}
