org.springframework.expression.spel

## Enum SpelCompilerMode

- java.lang.Object
- - java.lang.Enum<SpelCompilerMode>
  - - org.springframework.expression.spel.SpelCompilerMode

- All Implemented Interfaces:
    Serializable, Comparable<SpelCompilerMode>

      public enum SpelCompilerMode
      extends Enum<SpelCompilerMode>

  Captures the possible configuration settings for a compiler that can be used when evaluating expressions.
  Since:
    4.1
  Author:
    Andy Clement

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `IMMEDIATE` In immediate mode, expressions are compiled as soon as possible (usually after 1 interpreted run).
    `MIXED` In mixed mode, expression evaluation silently switches between interpreted and compiled over time.
    `OFF` The compiler is switched off; this is the default.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static SpelCompilerMode` | `valueOf(String name)` Returns the enum constant of this type with the specified name.
    `static SpelCompilerMode[]` | `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

    - #### OFF

          public static final SpelCompilerMode OFF

      The compiler is switched off; this is the default.

    - #### IMMEDIATE

          public static final SpelCompilerMode IMMEDIATE

      In immediate mode, expressions are compiled as soon as possible (usually after 1 interpreted run). If a compiled expression fails it will throw an exception to the caller.

    - #### MIXED

          public static final SpelCompilerMode MIXED

      In mixed mode, expression evaluation silently switches between interpreted and compiled over time. After a number of runs the expression gets compiled. If it later fails (possibly due to inferred type information changing) then that will be caught internally and the system switches back to interpreted mode. It may subsequently compile it again later.

  - ### Method Detail

    - #### values

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

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

    - #### valueOf

          public static SpelCompilerMode 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