org.qi4j.api.unitofwork

## Class UnitOfWorkTemplate<RESULT,ThrowableType extends Throwable>

- java.lang.Object
- - org.qi4j.api.unitofwork.UnitOfWorkTemplate<RESULT,ThrowableType>

-     public abstract class UnitOfWorkTemplate<RESULT,ThrowableType extends Throwable>
      extends Object

  UnitOfWork Template.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `UnitOfWorkTemplate()`
    `protected` | `UnitOfWorkTemplate(int retries, boolean complete)`
    `protected` | `UnitOfWorkTemplate(Usecase usecase, int retries, boolean complete)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `RESULT` | `withModule(Module module)`
    `protected abstract RESULT` | `withUnitOfWork(UnitOfWork uow)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### UnitOfWorkTemplate

          protected UnitOfWorkTemplate()

    - #### UnitOfWorkTemplate

          protected UnitOfWorkTemplate(int retries,
                            boolean complete)

    - #### UnitOfWorkTemplate

          protected UnitOfWorkTemplate(Usecase usecase,
                            int retries,
                            boolean complete)

  - ### Method Detail

    - #### withUnitOfWork

          protected abstract RESULT withUnitOfWork(UnitOfWork uow)
                                            throws ThrowableType extends Throwable

      Throws:
        `ThrowableType extends Throwable`

    - #### withModule

          public RESULT withModule(Module module)
                            throws ThrowableType extends Throwable,
                                   UnitOfWorkCompletionException

      Throws:
        `ThrowableType extends Throwable`
        `UnitOfWorkCompletionException`