Event
),
which are used to describe dependencies (including time expiry or time
intervals) among things like social commitments and deferred code.See: Description
Interface | Description |
---|---|
Event |
The Event interface describes an interrupt style event.
|
EventObserver |
The EventObserver interface describes the method needed to inform an object
of the occurrence of an event.
|
Class | Description |
---|---|
AbstractEvent |
AbstractEvent is an abstract class which implements
Event#addEventObserver(EventObserver) ,
Event#removeEventObserver(EventObserver) ,
Event.getEventType() . |
EventDescriptor |
Top-level event descriptor for the lisp interpreter POLICY function.
|
EventDescriptor.EventDescriptorLispOperator |
a class representation of Event Descriptor Lisp Operator
|
EventObserverEvent |
Defines an Event that will be triggered when the owner agent receives a message
matching the patternPairs given in this constructor.
|
EventTask |
EventTask is a subclass of
TimerTask that calls
AbstractEvent.fireEvent() when the task is run via the EventTask.run() method. |
MessageEvent | |
MessageEventDescriptor | |
MessageObserverEvent |
Defines an Event that will be triggered when the owner agent receives a message
matching the patternPairs given in this constructor.
|
NonRecurringEvent |
The NonRecurringEvent abstract class represents an event that does not recur.
|
RecurringEvent |
The RecurringEvent abstract class represents an event that does recur.
|
RecurringTimeEvent |
RecurringTimeEvent is a recurring event that occurs first at a specified time and then repeats indefinitely
with a fixed delay between occurrences.
|
TimeEvent |
TimeEvent is a non-recurring event that occurs at a specified time.
|
TriggerEvent |
Event
),
which are used to describe dependencies (including time expiry or time
intervals) among things like social commitments and deferred code.
The Event interface describes an interrupt style event. Each event must have
access to a thread to monitor or wait for the event to occur. When it does,
it queues the event to it's agent's event queue, and this agent is responsible
for eventually executing its Event.fireEvent()
method which informs
all observers of the event. The agents queue fits into the grand scheme of things
as follows:
All events have an event type (a string that should be in the agent's ontology), which may be used by the event observers to distinguish between multiple events it is observing.
If an observer wishes to be informed of the occurrence of the event, it must
implement the EventObserver
interface. The observer object must also
be passed on to casa.event.Event#addEventObserver(EventObserver)
. If the observer is
added before Event.start()
is called, it is guaranteed to be informed of
the event's occurrence. If not, there is no guarantee. When the event occurs,
EventObserver.notifyEventOccurred(String,Event,Object)
is called for all
registered observers.
A simple class diagram of events follows:
Copyright: Copyright (c) 2002-2008, Knowledge Science Group, University of Calgary. Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. The Knowledge Science Group makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. |