Slightly better method ergonomics
This commit is contained in:
@@ -48,9 +48,8 @@ public final class Session {
|
||||
}
|
||||
|
||||
<Req extends JsonNode, Res extends JsonNode, Err extends JsonNode> CompletableFuture<Res> request(
|
||||
Class<? extends Method<Req, Res, Err>> method, Req req) throws Exception {
|
||||
Method<Req, Res, Err> m = method.getDeclaredConstructor().newInstance();
|
||||
return listener.request(ws, m.getName(), req, m.getResClass());
|
||||
Method<Req, Res, Err> method, Req req) throws Exception {
|
||||
return listener.request(ws, method.getName(), req, method.getResClass());
|
||||
}
|
||||
|
||||
public void close() throws Exception {
|
||||
|
||||
@@ -8,7 +8,7 @@ public class Method<Req extends JsonNode, Res extends JsonNode, Err extends Json
|
||||
private final Class<Res> resClass;
|
||||
private final Class<Err> errClass;
|
||||
|
||||
protected Method(String name, Class<Req> reqClass, Class<Res> resClass, Class<Err> errClass) {
|
||||
public Method(String name, Class<Req> reqClass, Class<Res> resClass, Class<Err> errClass) {
|
||||
this.name = name;
|
||||
this.reqClass = reqClass;
|
||||
this.resClass = resClass;
|
||||
|
||||
@@ -5,9 +5,6 @@ import com.fasterxml.jackson.databind.node.TextNode;
|
||||
import dev.selimaj.session.types.Method;
|
||||
|
||||
public class Methods {
|
||||
public static class Data extends Method<TextNode, TextNode, TextNode> {
|
||||
Data() {
|
||||
super("data", TextNode.class, TextNode.class, TextNode.class);
|
||||
}
|
||||
}
|
||||
public static final Method<TextNode, TextNode, TextNode> Data = new Method<>("data",
|
||||
TextNode.class, TextNode.class, TextNode.class);
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ public class SessionTest {
|
||||
static void testRequest() throws Exception {
|
||||
Session session = Session.connect("ws://localhost:8080/");
|
||||
|
||||
TextNode response = session.request(Methods.Data.class, TextNode.valueOf("Hello from client")).get();
|
||||
TextNode response = session.request(Methods.Data, TextNode.valueOf("Hello from client")).get();
|
||||
|
||||
System.out.println(response);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user