package com.google.code.joto.eventrecorder.spy.calls;
import java.io.Serializable;
/**
* Serializable object representation of the ending of a method call.
* <p/>
* Contains the object result of the method, or the exception being thrown,
* but not objects and arguments of the corresponding methods being called! ...
* <p/>
* cf corresponding class EventMethodRequestData for the object and arguments.
*
* when storing request-response data into record events store, they are wrapped into RecordEventSummary,
* the response event as an id to its corresponding request event.
*
*
* Pseudo code for request-response events
* <pre>
* {@code
* // record beginning of method:
* RecordEventSummary requestEvent = new RecordEventSummary(...);
* EventMethodRequestData requestData = new EventMethodRequestData(methodObject, methodArguments);
* eventWriter.addEvent(evt, reqObjData, ...);
* int requestEventId = ... // pseudo-code: retreived eventId (with async callbacks)
*
* // the method..
*
* // record end of method
* RecordEventSummary responseEvent = new RecordEventSummary(...);
* responseEvent.setCorrelatedEventId(requestEventId); // pseudo-code ... (with in async callback)
* EventMethodResponseData responseData = new EventMethodResponseData(methodResult, methodException)
* eventWriter.addEvent(responseEvent, responseData, ...);
* }</pre>
*/
public class EventMethodResponseData implements Serializable {
/** intenral for javA.io.Serializable */
private static final long serialVersionUID = 1L;
private Object result;
private Throwable exception;
// -------------------------------------------------------------------------
public EventMethodResponseData() {
}
public EventMethodResponseData(Object result, Throwable exception) {
this.result = result;
this.exception = exception;
}
// -------------------------------------------------------------------------
public Object getResult() {
return result;
}
public void setResult(Object p) {
this.result = p;
}
public Throwable getException() {
return exception;
}
public void setException(Throwable p) {
this.exception = p;
}
}