public class EventGroup extends Object implements Comparable, Serializable
EventGroup
is a holder over events grouped by a common group Id.
This can be used by components such as routers to managed related events.Modifier and Type | Field and Description |
---|---|
static MuleEvent[] |
EMPTY_EVENTS_ARRAY |
Constructor and Description |
---|
EventGroup(Object groupId) |
EventGroup(Object groupId,
int expectedSize) |
Modifier and Type | Method and Description |
---|---|
void |
addEvent(MuleEvent event)
Add the given event to this group.
|
void |
clear()
Removes all events from this group.
|
int |
compareTo(Object o)
Compare this EventGroup to another one.
|
boolean |
equals(Object obj)
Compares two EventGroups for equality.
|
int |
expectedSize()
Returns the number of events that this EventGroup is expecting before
correlation can proceed.
|
long |
getCreated()
Return the creation timestamp of the current group.
|
Object |
getGroupId()
Returns an identifier for this EventGroup.
|
int |
hashCode()
The hashCode of an EventGroup is derived from the object returned by
getGroupId() . |
Iterator |
iterator()
Returns an iterator over a snapshot copy of this group's collected events.
|
void |
removeEvent(MuleEvent event)
Remove the given event from the group.
|
int |
size()
Returns the number of events collected so far.
|
MuleEvent[] |
toArray()
Returns a snapshot of collected events in this group.
|
MuleMessageCollection |
toMessageCollection() |
String |
toString() |
public static final MuleEvent[] EMPTY_EVENTS_ARRAY
public EventGroup(Object groupId)
public EventGroup(Object groupId, int expectedSize)
public int compareTo(Object o)
Comparable
, they are used for the comparison;
otherwise - since the id can be any object - the group creation time stamp is
used as fallback. Older groups are considered "smaller".compareTo
in interface Comparable
Comparable.compareTo(java.lang.Object)
public boolean equals(Object obj)
getGroupId()
) are equal.equals
in class Object
Object.equals(Object)
public int hashCode()
getGroupId()
.hashCode
in class Object
Object.hashCode()
public Object getGroupId()
Comparable
e.g. a UUID.public Iterator iterator()
removeEvent(MuleEvent)
. If you need to do so atomically in order to
prevent e.g. concurrent reception/aggregation of the group during iteration,
wrap the iteration in a synchronized block on the group instance.MuleEvent
s.public MuleEvent[] toArray()
MuleEvent
s.public void addEvent(MuleEvent event)
event
- the event to addpublic void removeEvent(MuleEvent event)
event
- the evnt to removepublic long getCreated()
Utils#nanoTime()}
public int size()
public int expectedSize()
public void clear()
public MuleMessageCollection toMessageCollection()
Copyright © 2003–2013 MuleSource, Inc.. All rights reserved.