# Package org.apache.ignite.lang

Contains general language constructs and functional APIs for distributed computations.

- Interface Summary
  Interface | Description
  --- | ---
  IgniteAsyncSupport | Deprecated. since 2.0.
  IgniteBiClosure<E1,​E2,​R> | Defines generic closure with two parameters.
  IgniteBiInClosure<E1,​E2> | Closure with two in-parameters and void return type.
  IgniteBiPredicate<E1,​E2> | Defines a predicate which accepts two parameters and returns `true` or `false`.
  IgniteCallable<V> | Grid-aware adapter for `Callable` implementations.
  IgniteClosure<E,​R> | Defines generic closure with one parameter.
  IgniteFuture<V> | Future with simplified exception handling, functional programming support and ability to listen for future completion via functional callback.
  IgniteInClosure<E> | Closure with one in-parameter and void return type.
  IgniteOutClosure<T> | Closure that does not take any parameters and returns a value.
  IgnitePredicate<E> | Defines a predicate which accepts a parameter and returns `true` or `false`.
  IgniteProducer<T> | Defines a producer which can throw IgniteCheckedException.
  IgniteReducer<E,​R> | Defines generic reducer that collects multiple values and reduces them into one.
  IgniteRunnable | Grid-aware adapter for `Runnable` implementations.

- Class Summary
  Class | Description
  --- | ---
  IgniteBiTuple<V1,​V2> | Convenience class representing mutable tuple of two values.
  IgniteProductVersion | Represents node version.
  IgniteUuid | This is a faster performing version of `UUID`.

- Exception Summary
  Exception | Description
  --- | ---
  IgniteFutureCancelledException | Future computation cannot be retrieved because it was cancelled.
  IgniteFutureTimeoutException | Future computation completion is timed out.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  IgniteAsyncCallback | If callback has this annotation then it will be executing in another thread.
  IgniteAsyncSupported | Deprecated. since 2.0.
  IgniteExperimental | This annotation marks API elements (such as interfaces, methods, annotations and whole API packages) as experimental meaning that the API is not finalized yet and may be changed or replaced in future Ignite releases.
  IgniteNotPeerDeployable | This annotations should be used to mark any type that should not be peer deployable.