org.oddjob.framework
Class ServiceWrapper

java.lang.Object
  extended byorg.oddjob.framework.BaseComponent
      extended byorg.oddjob.framework.BaseWrapper
          extended byorg.oddjob.framework.ServiceWrapper
All Implemented Interfaces:
ContextAware, Destroyable, org.apache.commons.beanutils.DynaBean, Iconic, Initializable, java.lang.reflect.InvocationHandler, LogEnabled, Resetable, java.lang.Runnable, Stateful, Stoppable

public class ServiceWrapper
extends BaseWrapper
implements java.lang.reflect.InvocationHandler

Wraps a Runnable object and adds state to it.

This is a helper class for parent jobs which depend on their child being Stateful - this pretends an un Stateful Runnable is Statful thus allowing the parent to accept plain Runnables as children.

Author:
Rob Gordon.

Field Summary
 
Fields inherited from class org.oddjob.framework.BaseComponent
changes, destroyed, iconHelper, location, lock, stateHandler
 
Constructor Summary
protected ServiceWrapper()
           
 
Method Summary
protected  org.apache.commons.beanutils.DynaBean getDynaBean()
           
protected  java.lang.Object getProxy()
           
protected  java.lang.Object getWrapped()
           
 java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
           
 void onStop()
           
 void run()
           
protected  void setWrapped(Service service)
           
static java.lang.Runnable wrapperFor(Service service)
           
 
Methods inherited from class org.oddjob.framework.BaseWrapper
contains, equals, get, get, get, getDynaClass, getLogger, getResult, hardReset, init, interfacesFor, logger, onDestroy, remove, set, set, set, setContext, softReset, stop, toString
 
Methods inherited from class org.oddjob.framework.BaseComponent
addIconListener, addJobStateListener, addPropertyChangeListener, arooaRuntime, arooaRuntime, canHardReset, canSoftReset, configure, destroy, getLocation, iconForId, lastJobStateEvent, removeIconListener, removeJobStateListener, removePropertyChangeListener, setJobStateComplete, setJobStateException, setJobStateNotComplete, setJobStateReady
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.oddjob.Stateful
addJobStateListener, removeJobStateListener
 
Methods inherited from interface org.oddjob.framework.Destroyable
destroy
 

Constructor Detail

ServiceWrapper

protected ServiceWrapper()
Method Detail

wrapperFor

public static java.lang.Runnable wrapperFor(Service service)

invoke

public java.lang.Object invoke(java.lang.Object proxy,
                               java.lang.reflect.Method method,
                               java.lang.Object[] args)
                        throws java.lang.Throwable
Specified by:
invoke in interface java.lang.reflect.InvocationHandler
Throws:
java.lang.Throwable

getWrapped

protected java.lang.Object getWrapped()
Specified by:
getWrapped in class BaseWrapper

getDynaBean

protected org.apache.commons.beanutils.DynaBean getDynaBean()
Specified by:
getDynaBean in class BaseWrapper

getProxy

protected java.lang.Object getProxy()
Specified by:
getProxy in class BaseWrapper

setWrapped

protected void setWrapped(Service service)

run

public void run()
Specified by:
run in interface java.lang.Runnable

onStop

public void onStop()
            throws java.lang.RuntimeException
Overrides:
onStop in class BaseWrapper
Throws:
java.lang.RuntimeException