com.neeve.event
Class Event

java.lang.Object
  extended by com.neeve.util.UtlListElement
      extended by com.neeve.event.Event
All Implemented Interfaces:
IEvent, UtlPool.Item<Event>, UtlReferenceTracker.HasReferenceTracker
Direct Known Subclasses:
AepClientConnectedEvent, AepClientDisconnectedEvent, AepClientPacketEvent, AepEngineStopEvent, AepQuarantineEvent, AepResumeTransactionEvent, AepScheduleEvent, AepSendCommitCompletionEvent, AepSendEvent, AepTransactionStageEvent, AlertEvent, BusCongestedEvent, EventBatch, EventWakeup, LifecycleEvent, MessageBusBindingFailedEvent, MessageBusBindingFlushCompletionEvent, MessageBusBindingOpenCompletionEvent, MessageEvent, MessageStabilityEvent

public abstract class Event
extends UtlListElement
implements IEvent, UtlPool.Item<Event>

Base class event implementation.

Threading:
Event objects are not safe for concurrent access by multiple threads.

Field Summary
 
Fields inherited from class com.neeve.util.UtlListElement
count, head, next, prev
 
Method Summary
 Event acquire()
          Implementation of IEvent#acquire.
 void dispose()
          Implementation of IEvent#dispose.
 IEventAcknowledger getAcknowledger()
          Implementation of IEvent#getAcknowledger.
 Object getAttachment()
          Implementation of IEvent#getAttachment.
 int getDelay()
          Get an event's the scheduling delay
 long getDispatchTime()
          Get the time at which the event was dispatched
 long getInstanceNumber()
          Implementation of IEvent#getInstanceNumber.
 long getOfferTs()
          Gets the time, in microseconds, at which an event was offered to a multiplexer for dispatch.
 long getPollTs()
          Gets the time, in microseconds just before the event was dispatched.
 UtlPool<Event> getPool()
          Implementation of UtlPool.Item#getPool.
 int getRemainingTime(long now)
          Implementation of IEvent#getRemainingTime.
 long getScheduledTime()
          Get the time at which the event was scheduled
 IEventSource getSource()
          Implementation of IEvent#getSource.
 short getType()
          Implementation of IEvent#getType.
 Event init()
          Implementation of UtlPool.Item#init.
 boolean isEndOfBatch()
          Implementation of IEvent#isEndOfBatch.
 boolean isHandled()
          Get whether the event has been handled
 int owners()
          Implementation of IEvent#owners.
 UtlReferenceTracker referenceTracker()
          Get an object's reference tracker.
 void setAcknowledger(IEventAcknowledger acknowledger)
          Implementation of IEvent#setAcknowledger.
 Event setAttachment(Object attachment)
          Implementation of IEvent#setAttachment.
 Event setDelay(int val)
          Set an event's scheduling delay
 Event setDispatchTime(long ts)
          Set the time at which the event was dispatched
 Event setEndOfBatch(boolean val)
          Implementation of IEvent#setEndOfBatch.
 Event setHandled()
          Implementation of IEvent#setHandled.
 Event setPool(UtlPool<Event> pool)
          Implementation of UtlPool.Item#setPool.
 Event setScheduledTime(long ts)
          Set the time at which the event was scheduled
 void setSource(IEventSource source)
          Implementation of IEvent#setSource.
 String toString()
          Get a string representation of an event.
 
Methods inherited from class com.neeve.util.UtlListElement
count, insertAfter, insertBefore, isLinked, next, previous, unlink, wipe
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getInstanceNumber

public final long getInstanceNumber()
Implementation of IEvent#getInstanceNumber.

Specified by:
getInstanceNumber in interface IEvent

getType

public final short getType()
Implementation of IEvent#getType.

Specified by:
getType in interface IEvent

setSource

public void setSource(IEventSource source)
Implementation of IEvent#setSource.

Specified by:
setSource in interface IEvent

getSource

public IEventSource getSource()
Implementation of IEvent#getSource.

Specified by:
getSource in interface IEvent

setAcknowledger

public final void setAcknowledger(IEventAcknowledger acknowledger)
Implementation of IEvent#setAcknowledger.

Specified by:
setAcknowledger in interface IEvent

getAcknowledger

public final IEventAcknowledger getAcknowledger()
Implementation of IEvent#getAcknowledger.

Specified by:
getAcknowledger in interface IEvent

setEndOfBatch

public final Event setEndOfBatch(boolean val)
Implementation of IEvent#setEndOfBatch.

Specified by:
setEndOfBatch in interface IEvent

isEndOfBatch

public final boolean isEndOfBatch()
Implementation of IEvent#isEndOfBatch.

Specified by:
isEndOfBatch in interface IEvent
Returns:
false if the event is part of a batch and this event is not the end of the batch. true otherwise

An event processor can use this as a hint to determine whether another event is immediately going to follow this one.


setAttachment

public final Event setAttachment(Object attachment)
Implementation of IEvent#setAttachment.

Specified by:
setAttachment in interface IEvent
Parameters:
attachment - The object to attach.

getAttachment

public final Object getAttachment()
Implementation of IEvent#getAttachment.

Specified by:
getAttachment in interface IEvent

setHandled

public final Event setHandled()
Implementation of IEvent#setHandled.

Specified by:
setHandled in interface IEvent

isHandled

public final boolean isHandled()
Description copied from interface: IEvent
Get whether the event has been handled

Specified by:
isHandled in interface IEvent

setDelay

public final Event setDelay(int val)
Description copied from interface: IEvent
Set an event's scheduling delay

Specified by:
setDelay in interface IEvent

getDelay

public final int getDelay()
Description copied from interface: IEvent
Get an event's the scheduling delay

Specified by:
getDelay in interface IEvent

setDispatchTime

public final Event setDispatchTime(long ts)
Set the time at which the event was dispatched

Parameters:
ts - The event schedule time.

getDispatchTime

public final long getDispatchTime()
Description copied from interface: IEvent
Get the time at which the event was dispatched

Specified by:
getDispatchTime in interface IEvent

setScheduledTime

public final Event setScheduledTime(long ts)
Set the time at which the event was scheduled

Parameters:
ts - The event schedule time.

getScheduledTime

public final long getScheduledTime()
Description copied from interface: IEvent
Get the time at which the event was scheduled

Specified by:
getScheduledTime in interface IEvent

getRemainingTime

public final int getRemainingTime(long now)
Implementation of IEvent#getRemainingTime.

Specified by:
getRemainingTime in interface IEvent

getOfferTs

public final long getOfferTs()
Gets the time, in microseconds, at which an event was offered to a multiplexer for dispatch.

Returns:
The the time, in microseconds, at which an event was offered to a multiplexer for dispatch or 0 if not captured.

getPollTs

public final long getPollTs()
Gets the time, in microseconds just before the event was dispatched.

For IEventMultiplexers that queue events for delivering this timestamp is recorded when the event is dequeued for dispatch.

Returns:
The timestamp in microseconds just before the message was dispatched or 0 if not captured.

acquire

public final Event acquire()
Implementation of IEvent#acquire.

Specified by:
acquire in interface IEvent

owners

public final int owners()
Implementation of IEvent#owners.

Specified by:
owners in interface IEvent

dispose

public final void dispose()
Implementation of IEvent#dispose.

Specified by:
dispose in interface IEvent

referenceTracker

public final UtlReferenceTracker referenceTracker()
Description copied from interface: UtlReferenceTracker.HasReferenceTracker
Get an object's reference tracker.

This method returns an object's reference tracker intended for use for debugging purposes. An object should instantiate a tracker only if UtlReferenceTracker.ENABLED is true or UtlReferenceTracker.enabled(Class) is true for the object type. The flag can be enabled via the properties nv.reftracking.enabled or by the nv.reftracking.types=fullclassname1[|fullclassnameN].

Specified by:
referenceTracker in interface UtlReferenceTracker.HasReferenceTracker

init

public final Event init()
Implementation of UtlPool.Item#init.

Specified by:
init in interface UtlPool.Item<Event>
Returns:
Return 'this' object for method invocation chaining.

setPool

public final Event setPool(UtlPool<Event> pool)
Implementation of UtlPool.Item#setPool.

Specified by:
setPool in interface UtlPool.Item<Event>
Returns:
Return 'this' object for method invocation chaining.

getPool

public final UtlPool<Event> getPool()
Implementation of UtlPool.Item#getPool.

Specified by:
getPool in interface UtlPool.Item<Event>
Returns:
the pool set using UtlPool.Item.setPool(com.neeve.util.UtlPool)

toString

public String toString()
Get a string representation of an event.

Overrides:
toString in class Object


Copyright © 2016 Neeve Research, LLC. All Rights Reserved.