Package org.kie.api.runtime.conf

## Enum ThreadSafeOption

- java.lang.Object
- - java.lang.Enum<ThreadSafeOption>
  - - org.kie.api.runtime.conf.ThreadSafeOption

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Comparable<ThreadSafeOption>`, `Option`, `SingleValueOption`, `KieSessionOption`, `SingleValueKieSessionOption`, `SingleValueRuleRuntimeOption`

      public enum ThreadSafeOption
      extends java.lang.Enum<ThreadSafeOption>
      implements SingleValueRuleRuntimeOption

  An option to define if the KieSession should should be thread safe or not. By default a KieSession is thread-safe. Flagging it as non-thread-sage will bring a performance improvement at the cost of being no longer able to safely use the KieSession in a multithreaded environment. drools.threadSafe = <true|false> DEFAULT = true

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---
    `NO` |
    `YES` |

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static OptionKey<ThreadSafeOption>` | `KEY` |
    `static java.lang.String` | `PROPERTY_NAME` | The property name for the thread safety configuration

    - ### Fields inherited from interface org.kie.api.runtime.conf.SingleValueRuleRuntimeOption

      `TYPE`

  - ### Method Summary

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

    - ### Methods inherited from interface org.kie.api.conf.Option

      `propertyName`

    - ### Methods inherited from interface org.kie.api.runtime.conf.SingleValueRuleRuntimeOption

      `type`

- - ### Enum Constant Detail

    - #### YES

          public static final ThreadSafeOption YES

    - #### NO

          public static final ThreadSafeOption NO

  - ### Field Detail

    - #### PROPERTY_NAME

          public static final java.lang.String PROPERTY_NAME

      The property name for the thread safety configuration
      See Also:
        Constant Field Values

    - #### KEY

          public static OptionKey<ThreadSafeOption> KEY

  - ### Method Detail

    - #### values

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

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

    - #### valueOf

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

    - #### getPropertyName

          public java.lang.String getPropertyName()

      Specified by:
        `getPropertyName` in interface `Option`
      Returns:
        the property name for this option

    - #### isThreadSafe

          public boolean isThreadSafe()