Package org.opennms.core.ipc.twin.common
Class AbstractTwinSubscriber
- java.lang.Object
-
- org.opennms.core.ipc.twin.common.AbstractTwinSubscriber
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,TwinSubscriber
- Direct Known Subclasses:
GrpcTwinSubscriber
,JmsTwinSubscriber
,KafkaTwinSubscriber
,LocalTwinSubscriberImpl
public abstract class AbstractTwinSubscriber extends java.lang.Object implements TwinSubscriber
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractTwinSubscriber(Identity identity)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
accept(TwinUpdate twinUpdate)
void
close()
Identity
getIdentity()
protected TwinRequestProto
mapTwinRequestToProto(TwinRequest twinRequest)
protected TwinUpdate
mapTwinResponseToProto(byte[] responseBytes)
protected abstract void
sendRpcRequest(TwinRequest twinRequest)
<T> java.io.Closeable
subscribe(java.lang.String key, java.lang.Class<T> clazz, java.util.function.Consumer<T> consumer)
-
-
-
Constructor Detail
-
AbstractTwinSubscriber
protected AbstractTwinSubscriber(Identity identity)
-
-
Method Detail
-
sendRpcRequest
protected abstract void sendRpcRequest(TwinRequest twinRequest)
-
subscribe
public <T> java.io.Closeable subscribe(java.lang.String key, java.lang.Class<T> clazz, java.util.function.Consumer<T> consumer)
- Specified by:
subscribe
in interfaceTwinSubscriber
- Type Parameters:
T
- T is an object type that needs to be replicated from OpenNMS to Minion.- Parameters:
key
- Unique key for the object.clazz
- Specific bean class of T to marshal/unmarshal.consumer
- Consumer of T for subsequent updates to T.- Returns:
- Closeable to close the subscription of T.
-
accept
protected void accept(TwinUpdate twinUpdate)
-
mapTwinResponseToProto
protected TwinUpdate mapTwinResponseToProto(byte[] responseBytes)
-
mapTwinRequestToProto
protected TwinRequestProto mapTwinRequestToProto(TwinRequest twinRequest)
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
getIdentity
public Identity getIdentity()
-
-