Package org.apache.pulsar.client.api
Interface MessagePayloadContext
-
public interface MessagePayloadContextThe context of the message payload, which usually represents a batched message (batch) or a single message.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T> Message<T>asSingleMessage(MessagePayload payload, Schema<T> schema)Convert the given payload to a single message if the entry is not a batch.<T> Message<T>getMessageAt(int index, int numMessages, MessagePayload payload, boolean containMetadata, Schema<T> schema)Get the internal single message with a specific index from a payload if the payload is a batch.intgetNumMessages()Get the number of messages when the payload is produced by Pulsar producer.java.lang.StringgetProperty(java.lang.String key)Get a value associated with the given key.booleanisBatch()Check whether the payload is a batch when the payload is produced by Pulsar producer.
-
-
-
Method Detail
-
getProperty
java.lang.String getProperty(java.lang.String key)
Get a value associated with the given key. When the message payload is not produced by Pulsar producer, a specific property is usually added to indicate the format. So this method is useful to determine whether the payload is produced by Pulsar producer.- Parameters:
key-- Returns:
- the value associated with the key or null if the key or value doesn't exist
-
getNumMessages
int getNumMessages()
Get the number of messages when the payload is produced by Pulsar producer.- Returns:
- the number of messages
-
isBatch
boolean isBatch()
Check whether the payload is a batch when the payload is produced by Pulsar producer.- Returns:
- true if the payload is a batch
-
getMessageAt
<T> Message<T> getMessageAt(int index, int numMessages, MessagePayload payload, boolean containMetadata, Schema<T> schema)
Get the internal single message with a specific index from a payload if the payload is a batch.- Type Parameters:
T-- Parameters:
index- the batch indexnumMessages- the number of messages in the batchpayload- the message payloadcontainMetadata- whether the payload contains the single message metadataschema- the schema of the batch- Returns:
- the created message
-
asSingleMessage
<T> Message<T> asSingleMessage(MessagePayload payload, Schema<T> schema)
Convert the given payload to a single message if the entry is not a batch.- Type Parameters:
T-- Parameters:
payload- the message payloadschema- the schema of the message- Returns:
- the created message
-
-