Package net.sf.saxon.expr

## Enum EvaluationMode

- java.lang.Object
- - java.lang.Enum<EvaluationMode>
  - - net.sf.saxon.expr.EvaluationMode

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Comparable<EvaluationMode>`

      public enum EvaluationMode
      extends java.lang.Enum<EvaluationMode>

  An evaluation mode represents a way in which expressions can be evaluated

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---
    `CALL_EVALUATE_OPTIONAL_ITEM` |
    `CALL_EVALUATE_SINGLE_ITEM` |
    `EVALUATE_AND_MATERIALIZE_VARIABLE` |
    `EVALUATE_LITERAL` |
    `EVALUATE_SUPPLIED_PARAMETER` |
    `EVALUATE_VARIABLE` |
    `ITERATE_AND_MATERIALIZE` |
    `LAZY_TAIL_EXPRESSION` |
    `MAKE_CLOSURE` |
    `MAKE_INDEXED_VARIABLE` |
    `MAKE_MEMO_CLOSURE` |
    `MAKE_SINGLETON_CLOSURE` |
    `PROCESS` |
    `RETURN_EMPTY_SEQUENCE` |
    `SHARED_APPEND_EXPRESSION` |
    `STREAMING_ARGUMENT` |
    `UNDECIDED` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static EvaluationMode` | `forCode​(int code)` | Get the evaluation mode with a particular integer code.
    `int` | `getCode()` | Get the integer code associated with an evaluation mode.
    `Evaluator` | `getEvaluator()` | Get the evaluator corresponding to a particular evaluation mode
    `static EvaluationMode` | `valueOf​(java.lang.String name)` | Returns the enum constant of this type with the specified name.
    `static EvaluationMode[]` | `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

    - #### UNDECIDED

          public static final EvaluationMode UNDECIDED

    - #### EVALUATE_LITERAL

          public static final EvaluationMode EVALUATE_LITERAL

    - #### EVALUATE_VARIABLE

          public static final EvaluationMode EVALUATE_VARIABLE

    - #### MAKE_CLOSURE

          public static final EvaluationMode MAKE_CLOSURE

    - #### MAKE_MEMO_CLOSURE

          public static final EvaluationMode MAKE_MEMO_CLOSURE

    - #### RETURN_EMPTY_SEQUENCE

          public static final EvaluationMode RETURN_EMPTY_SEQUENCE

    - #### EVALUATE_AND_MATERIALIZE_VARIABLE

          public static final EvaluationMode EVALUATE_AND_MATERIALIZE_VARIABLE

    - #### CALL_EVALUATE_OPTIONAL_ITEM

          public static final EvaluationMode CALL_EVALUATE_OPTIONAL_ITEM

    - #### ITERATE_AND_MATERIALIZE

          public static final EvaluationMode ITERATE_AND_MATERIALIZE

    - #### PROCESS

          public static final EvaluationMode PROCESS

    - #### LAZY_TAIL_EXPRESSION

          public static final EvaluationMode LAZY_TAIL_EXPRESSION

    - #### SHARED_APPEND_EXPRESSION

          public static final EvaluationMode SHARED_APPEND_EXPRESSION

    - #### MAKE_INDEXED_VARIABLE

          public static final EvaluationMode MAKE_INDEXED_VARIABLE

    - #### MAKE_SINGLETON_CLOSURE

          public static final EvaluationMode MAKE_SINGLETON_CLOSURE

    - #### EVALUATE_SUPPLIED_PARAMETER

          public static final EvaluationMode EVALUATE_SUPPLIED_PARAMETER

    - #### STREAMING_ARGUMENT

          public static final EvaluationMode STREAMING_ARGUMENT

    - #### CALL_EVALUATE_SINGLE_ITEM

          public static final EvaluationMode CALL_EVALUATE_SINGLE_ITEM

  - ### Method Detail

    - #### values

          public static EvaluationMode[] 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 (EvaluationMode c : EvaluationMode.values())
              System.out.println(c);

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

    - #### valueOf

          public static EvaluationMode valueOf​(java.lang.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:
        `java.lang.IllegalArgumentException` - if this enum type has no constant with the specified name
        `java.lang.NullPointerException` - if the argument is null

    - #### getCode

          public int getCode()

      Get the integer code associated with an evaluation mode. These codes should be considered stable, as they are recorded in SEF files
      Returns:
        an integer code

    - #### getEvaluator

          public Evaluator getEvaluator()

      Get the evaluator corresponding to a particular evaluation mode
      Returns:
        the corresponding evaluator

    - #### forCode

          public static EvaluationMode forCode​(int code)

      Get the evaluation mode with a particular integer code. This is used when reloading a stylesheet from a SEF file
      Parameters:
        `code` - the integer code
      Returns:
        the corresponding evaluation mode