Package org.flowable.variable.api.types

# Interface VariableType

public interface VariableType

Author:
  Tom Baeyens

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getTypeName()`
  name of variable type (limited to 100 characters length)
  `Object`
  `getValue(ValueFields valueFields)`
  `boolean`
  `isAbleToStore(Object value)`
  `boolean`
  `isCachable()`
  Indicates if this variable type supports caching.
  `default boolean`
  `isReadOnly()`
  `void`
  `setValue(Object value, ValueFields valueFields)`
  Stores the specified value in the supplied `ValueFields`.

- ## Method Details

  - ### getTypeName

    String getTypeName()
    name of variable type (limited to 100 characters length)

  - ### isCachable

    boolean isCachable()

    Indicates if this variable type supports caching.

    If caching is supported, the result of `getValue(ValueFields)` is saved for the duration of the session and used for subsequent reads of the variable's value.

    If caching is not supported, all reads of a variable's value require a fresh call to `getValue(ValueFields)`.

    Returns:
      whether variables of this type are cacheable.

  - ### isAbleToStore

    boolean isAbleToStore(Object value)
    Returns:
      whether this variable type can store the specified value.

  - ### setValue

    void setValue(Object value, ValueFields valueFields)
    Stores the specified value in the supplied `ValueFields`.

  - ### getValue

    Object getValue(ValueFields valueFields)
    Returns:
      the value of a variable based on the specified `ValueFields`.

  - ### isReadOnly

    default boolean isReadOnly()