Package: grails.async.factory

## [Groovy] Class AbstractPromiseFactory

- grails.async.factory.AbstractPromiseFactory

- All Implemented Interfaces and Traits:
    PromiseFactory

      @groovy.transform.CompileStatic
      abstract class AbstractPromiseFactory
      extends java.lang.Object

  Abstract implementation of the PromiseFactory interface, subclasses should extend this class to obtain common generic functionality

  Authors:
    Graeme Rocher
  Since:
    2.3

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `protected java.util.Collection<PromiseDecoratorLookupStrategy>` | `lookupStrategies` |

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `void` | `addPromiseDecoratorLookupStrategy(PromiseDecoratorLookupStrategy lookupStrategy)`
    `<T>` | `groovy.lang.Closure<T>` | `applyDecorators(groovy.lang.Closure<T> c, java.util.List<PromiseDecorator> decorators)`
    `<T>` | `Promise<T>` | `createBoundPromise(T value)`
    `<T>` | `Promise<T>` | `createPromise(groovy.lang.Closure<T> c, java.util.List<PromiseDecorator> decorators)` @see PromiseFactory#createPromise(groovy.lang.Closure, java.util.List)
    `<T>` | `Promise<java.util.List<T>>` | `createPromise(java.util.List<groovy.lang.Closure<T>> closures)` @see PromiseFactory#createPromise(java.util.List)
    `<T>` | `Promise<java.util.List<T>>` | `createPromise(java.util.List<groovy.lang.Closure<T>> closures, java.util.List<PromiseDecorator> decorators)` @see PromiseFactory#createPromise(java.util.List, java.util.List)
    `<T>` | `Promise<java.util.List<T>>` | `createPromise(Promise<T>... promises)` @see PromiseFactory#createPromise(grails.async.Promise[])
    `<K, V>` | `Promise<java.util.Map<K, V>>` | `createPromise(java.util.Map<K, V> map, java.util.List<PromiseDecorator> decorators)`
    `<K, V>` | `Promise<java.util.Map<K, V>>` | `createPromise(java.util.Map<K, V> map)` @see PromiseFactory#createPromise(java.util.Map)
    `` | `protected Promise` | `createPromiseInternal(groovy.lang.Closure c)`
    `<T>` | `java.util.List<T>` | `waitAll(Promise<T>... promises)` @see PromiseFactory#waitAll(grails.async.Promise[])

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class java.lang.Object` | `java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()`

- - ### Field Detail

    - #### protected java.util.Collection<PromiseDecoratorLookupStrategy> lookupStrategies

  - ### Method Detail

    - #### void addPromiseDecoratorLookupStrategy(PromiseDecoratorLookupStrategy lookupStrategy)

    - #### <T> groovy.lang.Closure<T> applyDecorators(groovy.lang.Closure<T> c, java.util.List<PromiseDecorator> decorators)

    - #### <T> Promise<T> createBoundPromise(T value)

    - #### <T> Promise<T> createPromise(groovy.lang.Closure<T> c, java.util.List<PromiseDecorator> decorators)

      See Also:
        PromiseFactory#createPromise(groovy.lang.Closure, java.util.List)

    - #### <T> Promise<java.util.List<T>> createPromise(java.util.List<groovy.lang.Closure<T>> closures)

      See Also:
        PromiseFactory#createPromise(java.util.List)

    - #### <T> Promise<java.util.List<T>> createPromise(java.util.List<groovy.lang.Closure<T>> closures, java.util.List<PromiseDecorator> decorators)

      See Also:
        PromiseFactory#createPromise(java.util.List, java.util.List)

    - #### <T> Promise<java.util.List<T>> createPromise(Promise<T>... promises)

      See Also:
        PromiseFactory#createPromise(grails.async.Promise[])

    - #### <K, V> @java.lang.Override Promise<java.util.Map<K, V>> createPromise(java.util.Map<K, V> map, java.util.List<PromiseDecorator> decorators)

    - #### <K, V> Promise<java.util.Map<K, V>> createPromise(java.util.Map<K, V> map)

      See Also:
        PromiseFactory#createPromise(java.util.Map)

    - #### @groovy.transform.CompileDynamic protected Promise createPromiseInternal(groovy.lang.Closure c)

    - #### <T> @groovy.transform.CompileDynamic java.util.List<T> waitAll(Promise<T>... promises)

      See Also:
        PromiseFactory#waitAll(grails.async.Promise[])