Skip to content

Commit f44ca06

Browse files
committed
Add IReceiver/IResolver
1 parent dd8e853 commit f44ca06

File tree

5 files changed

+84
-0
lines changed

5 files changed

+84
-0
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package net.servicestack.client;
2+
3+
/**
4+
* Created by mythz on 2/11/2017.
5+
*/
6+
7+
public interface IReceiver {
8+
void noSuchMethod(String selector, Object message);
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package net.servicestack.client;
2+
3+
/**
4+
* Created by mythz on 2/11/2017.
5+
*/
6+
7+
public interface IResolver {
8+
Object TryResolve(Class cls);
9+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package net.servicestack.client.sse;
2+
3+
import net.servicestack.client.IResolver;
4+
5+
/**
6+
* Created by mythz on 2/11/2017.
7+
*/
8+
9+
public class NewInstanceResolver implements IResolver {
10+
@Override
11+
public Object TryResolve(Class cls) {
12+
try {
13+
return cls.newInstance();
14+
} catch (Exception e) {
15+
throw new RuntimeException(e);
16+
}
17+
}
18+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package net.servicestack.client.sse;
2+
3+
import net.servicestack.client.IReceiver;
4+
import net.servicestack.client.Log;
5+
6+
/**
7+
* Created by mythz on 2/11/2017.
8+
*/
9+
10+
public class ServerEventReceiver implements IReceiver {
11+
12+
protected ServerEventsClient client;
13+
protected ServerEventMessage request;
14+
15+
public ServerEventsClient getClient() {
16+
return client;
17+
}
18+
19+
public void setClient(ServerEventsClient client) {
20+
this.client = client;
21+
}
22+
23+
public ServerEventMessage getRequest() {
24+
return request;
25+
}
26+
27+
public void setRequest(ServerEventMessage request) {
28+
this.request = request;
29+
}
30+
31+
@Override
32+
public void noSuchMethod(String selector, Object message) {
33+
if (Log.isDebugEnabled())
34+
Log.d("noSuchMethod defined for " + selector);
35+
}
36+
}

src/AndroidClient/client/src/main/java/net/servicestack/client/sse/ServerEventsClient.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.google.gson.JsonObject;
44

5+
import net.servicestack.client.IReceiver;
6+
import net.servicestack.client.IResolver;
57
import net.servicestack.client.JsonServiceClient;
68
import net.servicestack.client.JsonUtils;
79
import net.servicestack.client.Log;
@@ -34,6 +36,7 @@ public class ServerEventsClient implements AutoCloseable {
3436
private String eventStreamPath;
3537
private String eventStreamUri;
3638
private JsonServiceClient serviceClient;
39+
private IResolver resolver;
3740

3841
private Map<String,ServerEventCallback> handlers;
3942
private Map<String,ServerEventCallback> namedReceivers;
@@ -60,6 +63,7 @@ public ServerEventsClient(String baseUri, String[] channels) {
6063
setBaseUri(baseUri);
6164
setChannels(channels);
6265
this.serviceClient = new JsonServiceClient(baseUri);
66+
this.resolver = new NewInstanceResolver();
6367

6468
this.handlers = new HashMap<>();
6569
this.namedReceivers = new HashMap<>();
@@ -110,6 +114,14 @@ public JsonServiceClient getServiceClient() {
110114
return this.serviceClient;
111115
}
112116

117+
public IResolver getResolver() {
118+
return resolver;
119+
}
120+
121+
public void setResolver(IResolver resolver) {
122+
this.resolver = resolver;
123+
}
124+
113125
public ServerEventsClient setOnConnect(ServerEventConnectCallback onConnect) {
114126
this.onConnect = onConnect;
115127
return this;

0 commit comments

Comments
 (0)