Add: Base classes for all responses
This commit is contained in:
+32
@@ -0,0 +1,32 @@
|
||||
package ch.unibas.dmi.dbis.cs108.casono.server.network.response;
|
||||
|
||||
import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId;
|
||||
|
||||
public class ErrorResponse extends Response {
|
||||
private final String code;
|
||||
private final String message;
|
||||
|
||||
public ErrorResponse(
|
||||
SessionId sessionId, int requestId, String errorCode, String errorMessage) {
|
||||
this.sessionId = sessionId;
|
||||
this.requestId = requestId;
|
||||
this.code = errorCode;
|
||||
this.message = errorMessage;
|
||||
}
|
||||
|
||||
public ErrorResponse(SessionId sessionId, int requestId, String errorCode) {
|
||||
this.sessionId = sessionId;
|
||||
this.requestId = requestId;
|
||||
this.code = errorCode;
|
||||
this.message = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String encode() {
|
||||
if (message != null && !message.isEmpty()) {
|
||||
return "-ERR CODE=" + code + " MSG=" + message;
|
||||
} else {
|
||||
return "-ERR CODE=" + code;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package ch.unibas.dmi.dbis.cs108.casono.server.network.response;
|
||||
|
||||
import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId;
|
||||
|
||||
public abstract class Response implements Encodable {
|
||||
protected SessionId sessionId;
|
||||
protected int requestId;
|
||||
|
||||
public SessionId getSessionId() {
|
||||
return sessionId;
|
||||
}
|
||||
|
||||
public int getRequestId() {
|
||||
return requestId;
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package ch.unibas.dmi.dbis.cs108.casono.server.network.response;
|
||||
|
||||
import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId;
|
||||
|
||||
public abstract class SuccessResponse extends Response {
|
||||
public SuccessResponse(SessionId sessionId, int requestId) {
|
||||
this.sessionId = sessionId;
|
||||
this.requestId = requestId;
|
||||
}
|
||||
|
||||
public final String encode() {
|
||||
String payload = payload();
|
||||
if (payload.isBlank()) {
|
||||
return "+OK";
|
||||
} else {
|
||||
return "+OK " + payload;
|
||||
}
|
||||
}
|
||||
|
||||
protected String payload() {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user