Spring Web Flow

org.springframework.webflow.execution
Class Event

java.lang.Object
  extended by java.util.EventObject
      extended by org.springframework.webflow.execution.Event
All Implemented Interfaces:
java.io.Serializable

public class Event
extends java.util.EventObject

Signals the occurrence of something an active flow execution should respond to. Each event has a string id that provides a key for identifying what happened: e.g "coinInserted", or "pinDropped". Events may have attributes that provide arbitrary payload data, e.g. "coin.amount=25", or "pinDropSpeed=25ms".

As an example, a "submit" event might signal that a Submit button was pressed in a web browser. A "success" event might signal an action executed successfully. A "finish" event might signal a subflow ended normally.

Why is this not an interface? A specific design choice. An event is not a strategy that defines a generic type or role--it is essentially an immutable value object. It is expected that specializations of this base class be "Events" and not part of some other inheritance hierarchy.

Author:
Keith Donald, Erwin Vervaet, Colin Sampaleanu
See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.util.EventObject
source
 
Constructor Summary
Event(java.lang.Object source, java.lang.String id)
          Create a new event with the specified id and no payload.
Event(java.lang.Object source, java.lang.String id, AttributeMap<java.lang.Object> attributes)
          Create a new event with the specified id and payload attributes.
 
Method Summary
 AttributeMap<java.lang.Object> getAttributes()
          Returns an unmodifiable map storing the attributes of this event.
 java.lang.String getId()
          Returns the event identifier.
 long getTimestamp()
          Returns the time at which the event occurred, represented as the number of milliseconds since January 1, 1970, 00:00:00 GMT.
 java.lang.String toString()
           
 
Methods inherited from class java.util.EventObject
getSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Event

public Event(java.lang.Object source,
             java.lang.String id)
Create a new event with the specified id and no payload.

Parameters:
source - the source of the event (required)
id - the event identifier (required)

Event

public Event(java.lang.Object source,
             java.lang.String id,
             AttributeMap<java.lang.Object> attributes)
Create a new event with the specified id and payload attributes.

Parameters:
source - the source of the event (required)
id - the event identifier (required)
attributes - additional event attributes
Method Detail

getId

public java.lang.String getId()
Returns the event identifier.

Returns:
the event id

getTimestamp

public long getTimestamp()
Returns the time at which the event occurred, represented as the number of milliseconds since January 1, 1970, 00:00:00 GMT.

Returns:
the timestamp

getAttributes

public AttributeMap<java.lang.Object> getAttributes()
Returns an unmodifiable map storing the attributes of this event. Never returns null.

Returns:
the event attributes (payload)

toString

public java.lang.String toString()
Overrides:
toString in class java.util.EventObject

Spring Web Flow