org.springframework.scheduling.commonj

## Class DelegatingWork

- java.lang.Object
- - org.springframework.scheduling.commonj.DelegatingWork

- All Implemented Interfaces:
    Work, Runnable

      public class DelegatingWork
      extends Object
      implements Work

  Simple Work adapter that delegates to a given Runnable.
  Since:
    2.0
  Author:
    Juergen Hoeller
  See Also:
    `Work`, `Runnable`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DelegatingWork(Runnable delegate)` Create a new DelegatingWork.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Runnable` | `getDelegate()` Return the wrapped Runnable implementation.
    `boolean` | `isDaemon()` This implementation delegates to `SchedulingAwareRunnable.isLongLived()`, if available.
    `void` | `release()` This implementation is empty, since we expect the Runnable to terminate based on some specific shutdown signal.
    `void` | `run()` Delegates execution to the underlying Runnable.

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

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

- - ### Constructor Detail

    - #### DelegatingWork

          public DelegatingWork(Runnable delegate)

      Create a new DelegatingWork.
      Parameters:
        `delegate` - the Runnable implementation to delegate to (may be a SchedulingAwareRunnable for extended support)
      See Also:
        `SchedulingAwareRunnable`, `isDaemon()`

  - ### Method Detail

    - #### getDelegate

          public final Runnable getDelegate()

      Return the wrapped Runnable implementation.

    - #### run

          public void run()

      Delegates execution to the underlying Runnable.
      Specified by:
        `run` in interface `Runnable`

    - #### isDaemon

          public boolean isDaemon()

      This implementation delegates to `SchedulingAwareRunnable.isLongLived()`, if available.
      Specified by:
        `isDaemon` in interface `Work`

    - #### release

          public void release()

      This implementation is empty, since we expect the Runnable to terminate based on some specific shutdown signal.
      Specified by:
        `release` in interface `Work`