Class SafeManagedObjectService<F extends java.lang.Enum<F>>
- java.lang.Object
-
- net.officefloor.frame.impl.execute.service.SafeManagedObjectService<F>
-
- All Implemented Interfaces:
ManagedObjectServiceContext<F>
public class SafeManagedObjectService<F extends java.lang.Enum<F>> extends java.lang.Object implements ManagedObjectServiceContext<F>
Wraps the set up of theManagedObjectServiceto block invocations until available.- Author:
- Daniel Sagenschneider
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceSafeManagedObjectService.ProcessInvoker<F extends java.lang.Enum<F>>Invokes theProcessStatefrom theManagedObjectServiceContext.static interfaceSafeManagedObjectService.SafeServicer<F extends java.lang.Enum<F>,T extends java.lang.Exception>Safely invokes service on theManagedObjectServiceContext.
-
Constructor Summary
Constructors Constructor Description SafeManagedObjectService(ManagedObjectExecuteContext<F> executeContext)InitiateManagedObjectExecuteContext.SafeManagedObjectService(ManagedObjectExecuteContext<F> executeContext, SafeManagedObjectService.SafeServicer<F,? extends java.lang.Exception> startup)InitiateManagedObjectExecuteContext.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ProcessManagerinvokeProcess(int flowIndex, java.lang.Object parameter, ManagedObject managedObject, long delay, FlowCallback callback)Instigates aProcessState.ProcessManagerinvokeProcess(F key, java.lang.Object parameter, ManagedObject managedObject, long delay, FlowCallback callback)Instigates aProcessState.ProcessManagerinvokeProcess(SafeManagedObjectService.ProcessInvoker<F> invoker)Enables genericProcessStateinvocation.<T extends java.lang.Exception>
booleanservice(SafeManagedObjectService.SafeServicer<F,T> servicer)Undertakes servicing.
-
-
-
Constructor Detail
-
SafeManagedObjectService
public SafeManagedObjectService(ManagedObjectExecuteContext<F> executeContext)
InitiateManagedObjectExecuteContext.- Parameters:
executeContext-ManagedObjectExecuteContext.
-
SafeManagedObjectService
public SafeManagedObjectService(ManagedObjectExecuteContext<F> executeContext, SafeManagedObjectService.SafeServicer<F,? extends java.lang.Exception> startup)
InitiateManagedObjectExecuteContext.- Parameters:
executeContext-ManagedObjectExecuteContext.startup- Start upSafeManagedObjectService.SafeServicer.
-
-
Method Detail
-
service
public <T extends java.lang.Exception> boolean service(SafeManagedObjectService.SafeServicer<F,T> servicer) throws T extends java.lang.Exception, java.lang.InterruptedException
Undertakes servicing.- Parameters:
servicer- Logic for servicing.- Returns:
trueif servicing invoked.falseis stopped servicing.- Throws:
T-SafeManagedObjectService.SafeServicerpossible failure.java.lang.InterruptedException- If failed to waiting for servicing.T extends java.lang.Exception
-
invokeProcess
public ProcessManager invokeProcess(SafeManagedObjectService.ProcessInvoker<F> invoker)
Enables genericProcessStateinvocation.- Parameters:
invoker-SafeManagedObjectService.ProcessInvoker.- Returns:
ProcessManagerof the invokedProcessState.
-
invokeProcess
public ProcessManager invokeProcess(F key, java.lang.Object parameter, ManagedObject managedObject, long delay, FlowCallback callback) throws java.lang.IllegalArgumentException
Description copied from interface:ManagedObjectServiceContextInstigates aProcessState.- Specified by:
invokeProcessin interfaceManagedObjectServiceContext<F extends java.lang.Enum<F>>- Parameters:
key- Key identifying theFlowto instigate.parameter- Parameter to firstManagedFunctionof theFlow.managedObject-ManagedObjectfor theProcessStateof theFlow.delay- Delay in milliseconds before theFlowis invoked. A0or negative value invokes theFlowimmediately.callback-FlowCallbackon completion of theFlow.- Returns:
ProcessManagerfor theProcessState.- Throws:
java.lang.IllegalArgumentException- If- unknown
Flowkey - parameter is incorrect type
- no
ManagedObjectis supplied
- unknown
-
invokeProcess
public ProcessManager invokeProcess(int flowIndex, java.lang.Object parameter, ManagedObject managedObject, long delay, FlowCallback callback) throws java.lang.IllegalArgumentException
Description copied from interface:ManagedObjectServiceContextInstigates aProcessState.- Specified by:
invokeProcessin interfaceManagedObjectServiceContext<F extends java.lang.Enum<F>>- Parameters:
flowIndex- Index identifying theFlowto instigate.parameter- Parameter that to the firstManagedFunctionof theFlow.managedObject-ManagedObjectfor theProcessStateof theFlow.delay- Delay in milliseconds before theFlowis invoked. A0or negative value invokes theFlowimmediately.callback-FlowCallbackon completion of theFlow.- Returns:
ProcessManagerfor theProcessState.- Throws:
java.lang.IllegalArgumentException- If- unknown
Flowindex - parameter is incorrect type
- no
ManagedObjectis supplied
- unknown
-
-