Class SafeManagedObjectService<F extends Enum<F>>
java.lang.Object
net.officefloor.frame.impl.execute.service.SafeManagedObjectService<F>
- All Implemented Interfaces:
ManagedObjectServiceContext<F>
public class SafeManagedObjectService<F extends Enum<F>>
extends Object
implements ManagedObjectServiceContext<F>
Wraps the set up of the
ManagedObjectService to block invocations
until available.- Author:
- Daniel Sagenschneider
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceSafeManagedObjectService.ProcessInvoker<F extends Enum<F>>Invokes theProcessStatefrom theManagedObjectServiceContext.static interfaceSafely invokes service on theManagedObjectServiceContext. -
Constructor Summary
ConstructorsConstructorDescriptionSafeManagedObjectService(ManagedObjectExecuteContext<F> executeContext) InitiateManagedObjectExecuteContext.SafeManagedObjectService(ManagedObjectExecuteContext<F> executeContext, SafeManagedObjectService.SafeServicer<F, ? extends Exception> startup) InitiateManagedObjectExecuteContext. -
Method Summary
Modifier and TypeMethodDescriptioninvokeProcess(int flowIndex, Object parameter, ManagedObject managedObject, long delay, FlowCallback callback) Instigates aProcessState.invokeProcess(F key, Object parameter, ManagedObject managedObject, long delay, FlowCallback callback) Instigates aProcessState.Enables genericProcessStateinvocation.<T extends Exception>
booleanservice(SafeManagedObjectService.SafeServicer<F, T> servicer) Undertakes servicing.
-
Constructor Details
-
SafeManagedObjectService
InitiateManagedObjectExecuteContext.- Parameters:
executeContext-ManagedObjectExecuteContext.
-
SafeManagedObjectService
public SafeManagedObjectService(ManagedObjectExecuteContext<F> executeContext, SafeManagedObjectService.SafeServicer<F, ? extends Exception> startup) InitiateManagedObjectExecuteContext.- Parameters:
executeContext-ManagedObjectExecuteContext.startup- Start upSafeManagedObjectService.SafeServicer.
-
-
Method Details
-
service
public <T extends Exception> boolean service(SafeManagedObjectService.SafeServicer<F, T> servicer) throws T, InterruptedExceptionUndertakes servicing.- Type Parameters:
T- PossibleExceptiontype.- Parameters:
servicer- Logic for servicing.- Returns:
trueif servicing invoked.falseis stopped servicing.- Throws:
T-SafeManagedObjectService.SafeServicerpossible failure.InterruptedException- If failed to waiting for servicing.
-
invokeProcess
Enables genericProcessStateinvocation.- Parameters:
invoker-SafeManagedObjectService.ProcessInvoker.- Returns:
ProcessManagerof the invokedProcessState.
-
invokeProcess
public ProcessManager invokeProcess(F key, Object parameter, ManagedObject managedObject, long delay, FlowCallback callback) throws IllegalArgumentException Description copied from interface:ManagedObjectServiceContextInstigates aProcessState.- Specified by:
invokeProcessin interfaceManagedObjectServiceContext<F extends 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:
IllegalArgumentException- If- unknown
Flowkey - parameter is incorrect type
- no
ManagedObjectis supplied
- unknown
-
invokeProcess
public ProcessManager invokeProcess(int flowIndex, Object parameter, ManagedObject managedObject, long delay, FlowCallback callback) throws IllegalArgumentException Description copied from interface:ManagedObjectServiceContextInstigates aProcessState.- Specified by:
invokeProcessin interfaceManagedObjectServiceContext<F extends 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:
IllegalArgumentException- If- unknown
Flowindex - parameter is incorrect type
- no
ManagedObjectis supplied
- unknown
-