Package org.flowable.variable.api.types

# Interface VariableTypes

public interface VariableTypes
Interface describing a container for all available `VariableType`s of variables.

Author:
  dsyer, Frederik Heremans

- ## Method Summary

  Modifier and Type
  Method
  Description
  `VariableTypes`
  `addType(VariableType type)`
  `VariableTypes`
  `addType(VariableType type, int index)`
  Add type at the given index.
  `default VariableTypes`
  `addTypeBefore(VariableType type, String afterTypeName)`
  Add the variable type before the type with the given name.
  `VariableType`
  `findVariableType(Object value)`
  `int`
  `getTypeIndex(String typeName)`
  `int`
  `getTypeIndex(VariableType type)`
  `VariableType`
  `getVariableType(String typeName)`
  `VariableTypes`
  `removeType(VariableType type)`

- ## Method Details

  - ### getVariableType

    VariableType getVariableType(String typeName)
    Returns:
      the type for the given type name. Returns null if no type was found with the name.

  - ### findVariableType

    VariableType findVariableType(Object value)
    Returns:
      the variable type to be used to store the given value as a variable.
    Throws:
      `FlowableException` - When no available type is capable of storing the value.

  - ### addType

    VariableTypes addType(VariableType type)

  - ### addTypeBefore

    default VariableTypes addTypeBefore(VariableType type, String afterTypeName)
    Add the variable type before the type with the given name. When a type with the requested name is not registered then use `addType(VariableType)`
    Parameters:
      `type` - the type to add
      `afterTypeName` - the name of the other type

  - ### addType

    VariableTypes addType(VariableType type, int index)
    Add type at the given index. The index is used when finding a type for an object. When different types can store a specific object value, the one with the smallest index will be used.

  - ### getTypeIndex

    int getTypeIndex(VariableType type)

  - ### getTypeIndex

    int getTypeIndex(String typeName)

  - ### removeType

    VariableTypes removeType(VariableType type)