Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD

## org.apache.commons.jexl3
Enum JexlOperator

    java.lang.Object
      java.lang.Enum<JexlOperator>
          org.apache.commons.jexl3.JexlOperator

All Implemented Interfaces:
  Serializable, Comparable<JexlOperator>

    public enum JexlOperator

extends Enum<JexlOperator>

The JEXL operators. These are the operators that are executed by JexlArithmetic methods.

Each of them associates a symbol to a method signature. For instance, '+' is associated to 'T add(L x, R y)'.

The default JexlArithmetic implements generic versions of these methods using Object as arguments. You can use your own derived JexlArithmetic that override and/or overload those operator methods; these methods must be public, must respect the return type when primitive and may be overloaded multiple times with different signatures.

Since:
  3.0

Enum Constant Summary
`ADD` Add operator.
`AND` Bitwise-and operator.
`ARRAY_GET` Array get operator as in: x[y].
`ARRAY_SET` Array set operator as in: x[y] = z.
`ASSIGN` Marker for side effect.
`COMPLEMENT` Complement operator.
`CONTAINS` Contains operator.
`DIVIDE` Divide operator.
`EMPTY` Empty operator.
`ENDSWITH` Ends-with operator.
`EQ` Equals operator.
`FOR_EACH` Iterator generator as in for(var x : y).
`GT` Greater-than operator.
`GTE` Greater-than-or-equal operator.
`LT` Less-than operator.
`LTE` Less-than-or-equal operator.
`MOD` Modulo operator.
`MULTIPLY` Multiply operator.
`NEGATE` Negate operator.
`NOT` Not operator.
`OR` Bitwise-or operator.
`PROPERTY_GET` Property get operator as in: x.y.
`PROPERTY_SET` Property set operator as in: x.y = z.
`SELF_ADD` Self-add operator.
`SELF_AND` Self-and operator.
`SELF_DIVIDE` Self-divide operator.
`SELF_MOD` Self-modulo operator.
`SELF_MULTIPLY` Self-multiply operator.
`SELF_OR` Self-or operator.
`SELF_SUBTRACT` Self-subtract operator.
`SELF_XOR` Self-xor operator.
`SIZE` Size operator.
`STARTSWITH` Starts-with operator.
`SUBTRACT` Subtract operator.
`XOR` Bitwise-xor operator.

Method Summary
`int` | `getArity()` Gets this operator number of parameters.
`JexlOperator` | `getBaseOperator()` Gets the base operator.
`String` | `getMethodName()` Gets this operator method name in a JexlArithmetic.
`String` | `getOperatorSymbol()` Gets this operator symbol.
`static JexlOperator` | `valueOf(String name)` Returns the enum constant of this type with the specified name.
`static JexlOperator[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

Methods inherited from class java.lang.Enum
`clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, wait, wait, wait`

Enum Constant Detail

### ADD

    public static final JexlOperator ADD

  Add operator.
  Syntax: `x + y`
  Method: `T add(L x, R y);`.

  See Also:
    `JexlArithmetic.add(java.lang.Object, java.lang.Object)`

### SUBTRACT

    public static final JexlOperator SUBTRACT

  Subtract operator.
  Syntax: `x - y`
  Method: `T subtract(L x, R y);`.

  See Also:
    `JexlArithmetic.subtract(java.lang.Object, java.lang.Object)`

### MULTIPLY

    public static final JexlOperator MULTIPLY

  Multiply operator.
  Syntax: `x * y`
  Method: `T multiply(L x, R y);`.

  See Also:
    `JexlArithmetic.multiply(java.lang.Object, java.lang.Object)`

### DIVIDE

    public static final JexlOperator DIVIDE

  Divide operator.
  Syntax: `x / y`
  Method: `T divide(L x, R y);`.

  See Also:
    `JexlArithmetic.divide(java.lang.Object, java.lang.Object)`

### MOD

    public static final JexlOperator MOD

  Modulo operator.
  Syntax: `x % y`
  Method: `T mod(L x, R y);`.

  See Also:
    `JexlArithmetic.mod(java.lang.Object, java.lang.Object)`

### AND

    public static final JexlOperator AND

  Bitwise-and operator.
  Syntax: `x & y`
  Method: `T and(L x, R y);`.

  See Also:
    `JexlArithmetic.and(java.lang.Object, java.lang.Object)`

### OR

    public static final JexlOperator OR

  Bitwise-or operator.
  Syntax: `x | y`
  Method: `T or(L x, R y);`.

  See Also:
    `JexlArithmetic.or(java.lang.Object, java.lang.Object)`

### XOR

    public static final JexlOperator XOR

  Bitwise-xor operator.
  Syntax: `x ^ y`
  Method: `T xor(L x, R y);`.

  See Also:
    `JexlArithmetic.xor(java.lang.Object, java.lang.Object)`

### EQ

    public static final JexlOperator EQ

  Equals operator.
  Syntax: `x == y`
  Method: `boolean equals(L x, R y);`.

  See Also:
    `JexlArithmetic.equals(java.lang.Object, java.lang.Object)`

### LT

    public static final JexlOperator LT

  Less-than operator.
  Syntax: `x < y`
  Method: `boolean lessThan(L x, R y);`.

  See Also:
    `JexlArithmetic.lessThan(java.lang.Object, java.lang.Object)`

### LTE

    public static final JexlOperator LTE

  Less-than-or-equal operator.
  Syntax: `x <= y`
  Method: `boolean lessThanOrEqual(L x, R y);`.

  See Also:
    `JexlArithmetic.lessThanOrEqual(java.lang.Object, java.lang.Object)`

### GT

    public static final JexlOperator GT

  Greater-than operator.
  Syntax: `x > y`
  Method: `boolean greaterThan(L x, R y);`.

  See Also:
    `JexlArithmetic.greaterThan(java.lang.Object, java.lang.Object)`

### GTE

    public static final JexlOperator GTE

  Greater-than-or-equal operator.
  Syntax: `x >= y`
  Method: `boolean greaterThanOrEqual(L x, R y);`.

  See Also:
    `JexlArithmetic.greaterThanOrEqual(java.lang.Object, java.lang.Object)`

### CONTAINS

    public static final JexlOperator CONTAINS

  Contains operator.
  Syntax: `x =~ y`
  Method: `boolean contains(L x, R y);`.

  See Also:
    `JexlArithmetic.contains(java.lang.Object, java.lang.Object)`

### STARTSWITH

    public static final JexlOperator STARTSWITH

  Starts-with operator.
  Syntax: `x =^ y`
  Method: `boolean startsWith(L x, R y);`.

  See Also:
    `JexlArithmetic.startsWith(java.lang.Object, java.lang.Object)`

### ENDSWITH

    public static final JexlOperator ENDSWITH

  Ends-with operator.
  Syntax: `x =$ y`
  Method: `boolean endsWith(L x, R y);`.

  See Also:
    `JexlArithmetic.endsWith(java.lang.Object, java.lang.Object)`

### NOT

    public static final JexlOperator NOT

  Not operator.
  Syntax: `!x`
  Method: `T not(L x);`.

  See Also:
    `JexlArithmetic.not(java.lang.Object)`

### COMPLEMENT

    public static final JexlOperator COMPLEMENT

  Complement operator.
  Syntax: `~x`
  Method: `T complement(L x);`.

  See Also:
    `JexlArithmetic.complement(java.lang.Object)`

### NEGATE

    public static final JexlOperator NEGATE

  Negate operator.
  Syntax: `-x`
  Method: `T negate(L x);`.

  See Also:
    `JexlArithmetic.negate(java.lang.Object)`

### EMPTY

    public static final JexlOperator EMPTY

  Empty operator.
  Syntax: `empty x` or `empty(x)`
  Method: `boolean isEmpty(L x);`.

  See Also:
    `JexlArithmetic.isEmpty(java.lang.Object)`

### SIZE

    public static final JexlOperator SIZE

  Size operator.
  Syntax: `size x` or `size(x)`
  Method: `int size(L x);`.

  See Also:
    `JexlArithmetic.size(java.lang.Object)`

### SELF_ADD

    public static final JexlOperator SELF_ADD

  Self-add operator.
  Syntax: `x += y`
  Method: `T selfAdd(L x, R y);`.

### SELF_SUBTRACT

    public static final JexlOperator SELF_SUBTRACT

  Self-subtract operator.
  Syntax: `x -= y`
  Method: `T selfSubtract(L x, R y);`.

### SELF_MULTIPLY

    public static final JexlOperator SELF_MULTIPLY

  Self-multiply operator.
  Syntax: `x *= y`
  Method: `T selfMultiply(L x, R y);`.

### SELF_DIVIDE

    public static final JexlOperator SELF_DIVIDE

  Self-divide operator.
  Syntax: `x /= y`
  Method: `T selfDivide(L x, R y);`.

### SELF_MOD

    public static final JexlOperator SELF_MOD

  Self-modulo operator.
  Syntax: `x %= y`
  Method: `T selfMod(L x, R y);`.

### SELF_AND

    public static final JexlOperator SELF_AND

  Self-and operator.
  Syntax: `x &= y`
  Method: `T selfAnd(L x, R y);`.

### SELF_OR

    public static final JexlOperator SELF_OR

  Self-or operator.
  Syntax: `x |= y`
  Method: `T selfOr(L x, R y);`.

### SELF_XOR

    public static final JexlOperator SELF_XOR

  Self-xor operator.
  Syntax: `x ^= y`
  Method: `T selfXor(L x, R y);`.

### ASSIGN

    public static final JexlOperator ASSIGN

  Marker for side effect.
  Returns this from 'self*' overload method to let the engine know the side effect has been performed and there is no need to assign the result.

### PROPERTY_GET

    public static final JexlOperator PROPERTY_GET

  Property get operator as in: x.y.
  Syntax: `x.y`
  Method: `Object propertyGet(L x, R y);`.

### PROPERTY_SET

    public static final JexlOperator PROPERTY_SET

  Property set operator as in: x.y = z.
  Syntax: `x.y = z`
  Method: `void propertySet(L x, R y, V z);`.

### ARRAY_GET

    public static final JexlOperator ARRAY_GET

  Array get operator as in: x[y].
  Syntax: `x.y`
  Method: `Object arrayGet(L x, R y);`.

### ARRAY_SET

    public static final JexlOperator ARRAY_SET

  Array set operator as in: x[y] = z.
  Syntax: `x[y] = z`
  Method: `void arraySet(L x, R y, V z);`.

### FOR_EACH

    public static final JexlOperator FOR_EACH

  Iterator generator as in for(var x : y). If the returned Iterator is AutoCloseable, close will be called after the last execution of the loop block.
  Syntax: `for(var x : y){...}`
  Method: `Iterator<Object> forEach(R y);`.

  Since:
    3.1

Method Detail

### values

    public static JexlOperator[] values()

  Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

      for (JexlOperator c : JexlOperator.values())
          System.out.println(c);

  Returns:
    an array containing the constants of this enum type, in the order they are declared

### valueOf

    public static JexlOperator valueOf(String name)

  Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

  Parameters:
    `name` - the name of the enum constant to be returned.
  Returns:
    the enum constant with the specified name
  Throws:
    `IllegalArgumentException` - if this enum type has no constant with the specified name
    `NullPointerException` - if the argument is null

### getOperatorSymbol

    public final String getOperatorSymbol()

  Gets this operator symbol.

  Returns:
    the symbol

### getMethodName

    public final String getMethodName()

  Gets this operator method name in a JexlArithmetic.

  Returns:
    the method name

### getArity

    public int getArity()

  Gets this operator number of parameters.

  Returns:
    the method arity

### getBaseOperator

    public final JexlOperator getBaseOperator()

  Gets the base operator.

  Returns:
    the base operator

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD

Copyright © 2001–2017 The Apache Software Foundation. All rights reserved.