Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.mule.routing.inbound
Class EventGroup

    java.lang.Object
      org.mule.routing.inbound.EventGroup

All Implemented Interfaces:
  Serializable, Comparable

    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.

See Also:
  Serialized Form

Field Summary
`static MuleEvent[]` | `EMPTY_EVENTS_ARRAY`

Constructor Summary
`EventGroup(Object groupId)`
`EventGroup(Object groupId, int expectedSize)`

Method Summary
`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 in nanoseconds.
`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()`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### EMPTY_EVENTS_ARRAY

    public static final MuleEvent[] EMPTY_EVENTS_ARRAY

Constructor Detail

### EventGroup

    public EventGroup(Object groupId)

### EventGroup

    public EventGroup(Object groupId,
                      int expectedSize)

Method Detail

### compareTo

    public int compareTo(Object o)

  Compare this EventGroup to another one. If the receiver and the argument both have groupIds that are `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".

  Specified by:
    `compareTo` in interface `Comparable`
  See Also:
    `Comparable.compareTo(java.lang.Object)`

### equals

    public boolean equals(Object obj)

  Compares two EventGroups for equality. EventGroups are considered equal when their groupIds (as returned by `getGroupId()`) are equal.

  Overrides:
    `equals` in class `Object`
  See Also:
    `Object.equals(Object)`

### hashCode

    public int hashCode()

  The hashCode of an EventGroup is derived from the object returned by `getGroupId()`.

  Overrides:
    `hashCode` in class `Object`
  See Also:
    `Object.hashCode()`

### getGroupId

    public Object getGroupId()

  Returns an identifier for this EventGroup. It is recommended that this id is unique and `Comparable` e.g. a UUID.

  Returns:
    the id of this event group

### iterator

    public Iterator iterator()

  Returns an iterator over a snapshot copy of this group's collected events. If you need to iterate over the group and e.g. remove select events, do so via `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.

  Returns:
    an iterator over collected `MuleEvent`s.

### toArray

    public MuleEvent[] toArray()

  Returns a snapshot of collected events in this group.

  Returns:
    an array of collected `MuleEvent`s.

### addEvent

    public void addEvent(MuleEvent event)

  Add the given event to this group.

  Parameters:
    `event` - the event to add

### removeEvent

    public void removeEvent(MuleEvent event)

  Remove the given event from the group.

  Parameters:
    `event` - the evnt to remove

### getCreated

    public long getCreated()

  Return the creation timestamp of the current group in nanoseconds.

  Returns:
    the timestamp when this group was instantiated.
  See Also:
    `Utils.nanoTime()`

### size

    public int size()

  Returns the number of events collected so far.

  Returns:
    number of events in this group or 0 if the group is empty.

### expectedSize

    public int expectedSize()

  Returns the number of events that this EventGroup is expecting before correlation can proceed.

  Returns:
    expected number of events or -1 if no expected size was specified.

### clear

    public void clear()

  Removes all events from this group.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### toMessageCollection

    public MuleMessageCollection toMessageCollection()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.