public class SimpleMessageGroup extends Object implements MessageGroup
MessageStore
and group id. The
group will grow during its lifetime, when messages are add
ed to it. This MessageGroup is thread safe.Modifier and Type | Field and Description |
---|---|
BlockingQueue<Message<?>> |
messages |
Constructor and Description |
---|
SimpleMessageGroup(Collection<? extends Message<?>> messages,
Object groupId) |
SimpleMessageGroup(Collection<? extends Message<?>> messages,
Object groupId,
long timestamp,
boolean complete) |
SimpleMessageGroup(MessageGroup messageGroup) |
SimpleMessageGroup(Object groupId) |
Modifier and Type | Method and Description |
---|---|
void |
add(Message<?> message) |
boolean |
canAdd(Message<?> message)
Query if the message can be added.
|
void |
clear() |
void |
complete()
Complete the group.
|
Object |
getGroupId() |
long |
getLastModified() |
int |
getLastReleasedMessageSequenceNumber() |
Collection<Message<?>> |
getMessages()
Returns all available Messages from the group at the time of invocation
|
Message<?> |
getOne() |
int |
getSequenceSize() |
long |
getTimestamp() |
boolean |
isComplete() |
void |
remove(Message<?> message) |
void |
setLastModified(long lastModified) |
void |
setLastReleasedMessageSequenceNumber(int sequenceNumber) |
int |
size() |
String |
toString() |
public final BlockingQueue<Message<?>> messages
public SimpleMessageGroup(Object groupId)
public SimpleMessageGroup(Collection<? extends Message<?>> messages, Object groupId)
public SimpleMessageGroup(Collection<? extends Message<?>> messages, Object groupId, long timestamp, boolean complete)
public SimpleMessageGroup(MessageGroup messageGroup)
public long getTimestamp()
getTimestamp
in interface MessageGroup
public void setLastModified(long lastModified)
public long getLastModified()
getLastModified
in interface MessageGroup
public boolean canAdd(Message<?> message)
MessageGroup
canAdd
in interface MessageGroup
message
- The message.public void add(Message<?> message)
public void remove(Message<?> message)
public int getLastReleasedMessageSequenceNumber()
getLastReleasedMessageSequenceNumber
in interface MessageGroup
public Collection<Message<?>> getMessages()
MessageGroup
getMessages
in interface MessageGroup
public void setLastReleasedMessageSequenceNumber(int sequenceNumber)
public Object getGroupId()
getGroupId
in interface MessageGroup
public boolean isComplete()
isComplete
in interface MessageGroup
public void complete()
MessageGroup
complete
in interface MessageGroup
public int getSequenceSize()
getSequenceSize
in interface MessageGroup
public int size()
size
in interface MessageGroup
public Message<?> getOne()
getOne
in interface MessageGroup
public void clear()