evil-inside/src/ei/engine/network/response/ResponseEvent.java

35 lines
622 B
Java

package ei.engine.network.response;
public abstract class ResponseEvent {
private Object rsp = null;
public synchronized boolean handleResponse(Object rsp) {
this.rsp = rsp;
notify();
return true;
}
public synchronized void waitForResponse() {
while(!gotResponse()) {
try {
this.wait();
} catch (InterruptedException e) {
}
}
responseEvent(rsp);
}
public void handleResponse(){
if(gotResponse()){
responseEvent(rsp);
}
}
public boolean gotResponse(){
return (rsp != null);
}
protected abstract void responseEvent(Object rsp);
}