public abstract class RequestResponseActivity<Request,Response> extends FSMActivity
An abstract activity implementing a simple, single round-trip, request response activity where one peer acts as a client and another as a server.
Subclasses need to implement the doRequest
method to handle an
incoming Request
and return an appropriate Response
.
Constructor and Description |
---|
RequestResponseActivity(HyperGraphPeer thisPeer,
java.util.UUID id) |
RequestResponseActivity(HyperGraphPeer thisPeer,
java.util.UUID id,
HGPeerIdentity target) |
Modifier and Type | Method and Description |
---|---|
protected abstract Response |
doRequest(Request request) |
Request |
getRequest() |
Response |
getResponse() |
HGPeerIdentity |
getTarget() |
void |
initiate()
Empty method - override to implement activity initiation.
|
WorkflowStateConstant |
onRequest(Json msg) |
void |
setRequest(Request request) |
void |
setResponse(Response response) |
void |
setTarget(HGPeerIdentity target) |
handleMessage, onPeerFailure, onPeerNotUnderstand
public RequestResponseActivity(HyperGraphPeer thisPeer, java.util.UUID id)
public RequestResponseActivity(HyperGraphPeer thisPeer, java.util.UUID id, HGPeerIdentity target)
public void initiate()
FSMActivity
Empty method - override to implement activity initiation.
initiate
in class FSMActivity
public WorkflowStateConstant onRequest(Json msg) throws java.lang.Throwable
java.lang.Throwable
public Request getRequest()
public void setRequest(Request request)
public Response getResponse()
public void setResponse(Response response)
public HGPeerIdentity getTarget()
public void setTarget(HGPeerIdentity target)