Add: ResponseBody and ResponseBodyBuilder classes for building response body
This commit is contained in:
+19
@@ -0,0 +1,19 @@
|
|||||||
|
package ch.unibas.dmi.dbis.cs108.casono.server.network.response;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class ResponseBody {
|
||||||
|
private final List<ResponseNode> nodes;
|
||||||
|
|
||||||
|
ResponseBody(List<ResponseNode> nodes) {
|
||||||
|
this.nodes = List.copyOf(nodes);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ResponseBodyBuilder builder() {
|
||||||
|
return new ResponseBodyBuilder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<ResponseNode> nodes() {
|
||||||
|
return nodes;
|
||||||
|
}
|
||||||
|
}
|
||||||
+25
@@ -0,0 +1,25 @@
|
|||||||
|
package ch.unibas.dmi.dbis.cs108.casono.server.network.response;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
public class ResponseBodyBuilder {
|
||||||
|
private final List<ResponseNode> nodes = new ArrayList<>();
|
||||||
|
|
||||||
|
public ResponseBodyBuilder param(String key, Object value) {
|
||||||
|
nodes.add(new ResponseParameter(key, value));
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResponseBodyBuilder block(String tag, Consumer<ResponseBodyBuilder> content) {
|
||||||
|
ResponseBodyBuilder childBuilder = new ResponseBodyBuilder();
|
||||||
|
content.accept(childBuilder);
|
||||||
|
nodes.add(new ResponseBlock(tag, childBuilder.build().nodes()));
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResponseBody build() {
|
||||||
|
return new ResponseBody(nodes);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user