Class BaseUniversalMessage<ID>
- java.lang.Object
-
- com.github.ddth.queue.impl.GenericMessage<ID,byte[]>
-
- com.github.ddth.pubsub.impl.universal.BaseUniversalMessage<ID>
-
- All Implemented Interfaces:
com.github.ddth.commons.serialization.ISerializationSupport,IMessage<ID,byte[]>,IPartitionSupport,Cloneable
- Direct Known Subclasses:
UniversalIdIntMessage,UniversalIdStrMessage
public abstract class BaseUniversalMessage<ID> extends GenericMessage<ID,byte[]> implements com.github.ddth.commons.serialization.ISerializationSupport
Base class for universal messages, where data is stored asbyte[].- Since:
- 0.7.0
- Author:
- Thanh Ba Nguyen
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.github.ddth.queue.IMessage
IMessage.EmptyMessage
-
-
Field Summary
Fields Modifier and Type Field Description static StringFIELD_DATAstatic StringFIELD_IDstatic StringFIELD_PARTITION_KEYstatic StringFIELD_TIMESTAMP
-
Constructor Summary
Constructors Constructor Description BaseUniversalMessage()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BaseUniversalMessage<ID>clone()Clone this message.booleanequals(Object obj)static <T extends BaseUniversalMessage<ID>,ID>
TfromBytes(byte[] msgData, Class<T> clazz)Deserializes from abyte[]- which has been serialized bytoBytes().protected BaseUniversalMessage<ID>fromJson(String dataJson)Deserialize queue message from a Json string.BaseUniversalMessage<ID>fromMap(Map<String,Object> dataMap)Deserialize queue message from aMap.byte[]getContent()Gets message's content.StringgetContentAsString()Gets message's content as a String.inthashCode()BaseUniversalMessage<ID>setContent(byte[] content)Sets message's content.BaseUniversalMessage<ID>setContent(String content)Sets message's content.byte[]toBytes()Serializes tobyte[].protected StringtoJson()Serialize this queue message to Json string.Map<String,Object>toMap()Serialize this queue message to aMap.-
Methods inherited from class com.github.ddth.queue.impl.GenericMessage
getData, getId, getPartitionKey, getTimestamp, newInstance, newInstance, newInstance, setData, setId, setPartitionKey, setTimestamp, toString
-
-
-
-
Field Detail
-
FIELD_ID
public static final String FIELD_ID
- See Also:
- Constant Field Values
-
FIELD_TIMESTAMP
public static final String FIELD_TIMESTAMP
- See Also:
- Constant Field Values
-
FIELD_DATA
public static final String FIELD_DATA
- See Also:
- Constant Field Values
-
FIELD_PARTITION_KEY
public static final String FIELD_PARTITION_KEY
- See Also:
- Constant Field Values
-
-
Method Detail
-
fromMap
public BaseUniversalMessage<ID> fromMap(Map<String,Object> dataMap)
Deserialize queue message from aMap.- Parameters:
dataMap-- Returns:
-
toJson
protected String toJson()
Serialize this queue message to Json string.- Returns:
-
fromJson
protected BaseUniversalMessage<ID> fromJson(String dataJson)
Deserialize queue message from a Json string.- Parameters:
dataJson-- Returns:
-
toBytes
public byte[] toBytes()
Serializes tobyte[].- Specified by:
toBytesin interfacecom.github.ddth.commons.serialization.ISerializationSupport- Returns:
-
fromBytes
public static <T extends BaseUniversalMessage<ID>,ID> T fromBytes(byte[] msgData, Class<T> clazz) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException
Deserializes from abyte[]- which has been serialized bytoBytes().- Type Parameters:
T-ID-- Parameters:
msgData-clazz-- Returns:
- Throws:
NoSuchMethodExceptionIllegalAccessExceptionInvocationTargetExceptionInstantiationException
-
clone
public BaseUniversalMessage<ID> clone()
Clone this message.
-
getContent
public byte[] getContent()
Gets message's content.- Returns:
-
getContentAsString
public String getContentAsString()
Gets message's content as a String.- Returns:
-
setContent
public BaseUniversalMessage<ID> setContent(byte[] content)
Sets message's content.- Parameters:
content-- Returns:
-
setContent
public BaseUniversalMessage<ID> setContent(String content)
Sets message's content.- Parameters:
content-- Returns:
-
-