org.bushe.swing.event
Class SubscriberTimingEvent

java.lang.Object
  extended by org.bushe.swing.event.AbstractEventServiceEvent
      extended by org.bushe.swing.event.SubscriberTimingEvent
All Implemented Interfaces:
EventServiceEvent, PublicationStatusTracker

public class SubscriberTimingEvent
extends AbstractEventServiceEvent

This event is published internally to report timing for subscribers on an EventService. Applications may subscribe to this event to do handle subscribers that take too long.

See Also:
ThreadSafeEventService

Field Summary
 
Fields inherited from class org.bushe.swing.event.AbstractEventServiceEvent
stateLock
 
Constructor Summary
SubscriberTimingEvent(Object source, Long start, Long end, Long timeLimitMilliseconds, Object event, EventSubscriber subscriber, VetoEventListener vetoEventListener)
          Create a timing event
 
Method Summary
 Long getEnd()
           
 Object getEvent()
           
 Long getStart()
           
 EventSubscriber getSubscriber()
           
 Long getTimeLimitMilliseconds()
           
 VetoEventListener getVetoEventListener()
           
 boolean isEventHandlingExceeded()
           
 boolean isVetoExceeded()
           
 String toString()
           
 
Methods inherited from class org.bushe.swing.event.AbstractEventServiceEvent
getPublicationStatus, getSource, setPublicationStatus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SubscriberTimingEvent

public SubscriberTimingEvent(Object source,
                             Long start,
                             Long end,
                             Long timeLimitMilliseconds,
                             Object event,
                             EventSubscriber subscriber,
                             VetoEventListener vetoEventListener)
Create a timing event

Parameters:
source - event source
start - system time at start of the notification of listener
end - system time at end of the notification of listener
timeLimitMilliseconds - expected maximum time
event - the published event
subscriber - the event subscriber that went over the time limit, can be null if vetoEventListener is not null
vetoEventListener - the vetoEventListener that took too long, can be null if the eventListener is not null
Method Detail

getStart

public Long getStart()
Returns:
system time at start of the notification of listener

getEnd

public Long getEnd()
Returns:
system time at end of the notification of listener

getTimeLimitMilliseconds

public Long getTimeLimitMilliseconds()
Returns:
expected maximum time

getEvent

public Object getEvent()
Returns:
the published event

getSubscriber

public EventSubscriber getSubscriber()
Returns:
subscriber the event subscriber that went over the time limit, can be null if vetoEventListener is not null

getVetoEventListener

public VetoEventListener getVetoEventListener()
Returns:
the vetoEventListener that took too long, can be null if the eventListener is not null

isVetoExceeded

public boolean isVetoExceeded()
Returns:
true if a veto listener took too long, false if an EventSubscriber took took long

isEventHandlingExceeded

public boolean isEventHandlingExceeded()
Returns:
true if an EventSubscriber took too long, false if a veto listener took took long

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2011 Bushe Enterprises, Inc.. All Rights Reserved.