This commit is contained in:
Redkale
2020-06-01 13:44:34 +08:00
parent 6329722f17
commit 22fb3e5bef

View File

@@ -20,6 +20,10 @@ public interface WebSocketUserAddress extends Serializable {
Serializable userid(); Serializable userid();
String mqtopic();
Collection<String> mqtopics();
InetSocketAddress sncpAddress(); InetSocketAddress sncpAddress();
Collection<InetSocketAddress> sncpAddresses(); Collection<InetSocketAddress> sncpAddresses();
@@ -28,18 +32,30 @@ public interface WebSocketUserAddress extends Serializable {
return new SimpleWebSocketUserAddress(userAddress); return new SimpleWebSocketUserAddress(userAddress);
} }
public static WebSocketUserAddress createTopic(Serializable userid, String mqtopic) {
return new SimpleWebSocketUserAddress(userid, mqtopic, null, null, null);
}
public static WebSocketUserAddress createTopic(Serializable userid, Collection<String> mqtopics) {
return new SimpleWebSocketUserAddress(userid, null, mqtopics, null, null);
}
public static WebSocketUserAddress create(Serializable userid, InetSocketAddress sncpAddress) { public static WebSocketUserAddress create(Serializable userid, InetSocketAddress sncpAddress) {
return new SimpleWebSocketUserAddress(userid, sncpAddress, null); return new SimpleWebSocketUserAddress(userid, null, null, sncpAddress, null);
} }
public static WebSocketUserAddress create(Serializable userid, Collection<InetSocketAddress> sncpAddresses) { public static WebSocketUserAddress create(Serializable userid, Collection<InetSocketAddress> sncpAddresses) {
return new SimpleWebSocketUserAddress(userid, null, sncpAddresses); return new SimpleWebSocketUserAddress(userid, null, null, null, sncpAddresses);
} }
public static class SimpleWebSocketUserAddress implements WebSocketUserAddress { public static class SimpleWebSocketUserAddress implements WebSocketUserAddress {
private Serializable userid; private Serializable userid;
private String mqtopic;
private Collection<String> mqtopics;
private InetSocketAddress sncpAddress; private InetSocketAddress sncpAddress;
private Collection<InetSocketAddress> sncpAddresses; private Collection<InetSocketAddress> sncpAddresses;
@@ -47,8 +63,10 @@ public interface WebSocketUserAddress extends Serializable {
public SimpleWebSocketUserAddress() { public SimpleWebSocketUserAddress() {
} }
public SimpleWebSocketUserAddress(Serializable userid, InetSocketAddress sncpAddress, Collection<InetSocketAddress> sncpAddresses) { public SimpleWebSocketUserAddress(Serializable userid, String mqtopic, Collection<String> mqtopics, InetSocketAddress sncpAddress, Collection<InetSocketAddress> sncpAddresses) {
this.userid = userid; this.userid = userid;
this.mqtopic = mqtopic;
this.mqtopics = mqtopics;
this.sncpAddress = sncpAddress; this.sncpAddress = sncpAddress;
this.sncpAddresses = sncpAddresses; this.sncpAddresses = sncpAddresses;
} }
@@ -56,6 +74,8 @@ public interface WebSocketUserAddress extends Serializable {
public SimpleWebSocketUserAddress(WebSocketUserAddress userAddress) { public SimpleWebSocketUserAddress(WebSocketUserAddress userAddress) {
if (userAddress == null) return; if (userAddress == null) return;
this.userid = userAddress.userid(); this.userid = userAddress.userid();
this.mqtopic = userAddress.mqtopic();
this.mqtopics = userAddress.mqtopics();
this.sncpAddress = userAddress.sncpAddress(); this.sncpAddress = userAddress.sncpAddress();
this.sncpAddresses = userAddress.sncpAddresses(); this.sncpAddresses = userAddress.sncpAddresses();
} }
@@ -65,6 +85,16 @@ public interface WebSocketUserAddress extends Serializable {
return userid; return userid;
} }
@Override
public String mqtopic() {
return mqtopic;
}
@Override
public Collection<String> mqtopics() {
return mqtopics;
}
@Override @Override
public InetSocketAddress sncpAddress() { public InetSocketAddress sncpAddress() {
return sncpAddress; return sncpAddress;
@@ -83,6 +113,22 @@ public interface WebSocketUserAddress extends Serializable {
this.userid = userid; this.userid = userid;
} }
public String getMqtopic() {
return mqtopic;
}
public void setMqtopic(String mqtopic) {
this.mqtopic = mqtopic;
}
public Collection<String> getMqtopics() {
return mqtopics;
}
public void setMqtopics(Collection<String> mqtopics) {
this.mqtopics = mqtopics;
}
public InetSocketAddress getSncpAddress() { public InetSocketAddress getSncpAddress() {
return sncpAddress; return sncpAddress;
} }