edu.vub.at.actors
Interface ATObservable

All Superinterfaces:
ATConversions, ATObject

public interface ATObservable
extends ATObject


Method Summary
 ATNil base_fire_withArgs_(ATSymbol event, NATTable arguments)
          Fires an event with the given arguments.
 ATClosure base_upon_do_(ATSymbol event, ATClosure observer)
          Installs an observer on this object
 
Methods inherited from interface edu.vub.at.objects.ATObject
base__opeql__opeql_, base_init, base_new, meta_addField, meta_addMethod, meta_assignField, meta_assignVariable, meta_clone, meta_defineField, meta_doesNotUnderstand, meta_eval, meta_extend, meta_getDynamicParent, meta_getLexicalParent, meta_getStripes, meta_grabField, meta_grabMethod, meta_invoke, meta_isCloneOf, meta_isRelatedTo, meta_isStripedWith, meta_listFields, meta_listMethods, meta_lookup, meta_newInstance, meta_pass, meta_print, meta_quote, meta_receive, meta_resolve, meta_respondsTo, meta_select, meta_send, meta_share
 
Methods inherited from interface edu.vub.at.objects.coercion.ATConversions
asAmbientTalkObject, asJavaClassUnderSymbiosis, asJavaObjectUnderSymbiosis, asNativeBoolean, asNativeException, asNativeFarReference, asNativeFraction, asNativeNumber, asNativeNumeric, asNativeTable, asNativeText, base_asActorMirror, base_asAsyncMessage, base_asBegin, base_asBoolean, base_asClosure, base_asDefinition, base_asExpression, base_asFarReference, base_asField, base_asHandler, base_asMessage, base_asMessageCreation, base_asMethod, base_asMirror, base_asNumber, base_asSplice, base_asStatement, base_asStripe, base_asSymbol, base_asTable, base_asUnquoteSplice, base_asVariableAssignment, base_isBoolean, base_isCallFrame, base_isClosure, base_isFarReference, base_isMessageCreation, base_isMethod, base_isMirror, base_isSplice, base_isStripe, base_isSymbol, base_isTable, base_isUnquoteSplice, base_isVariableAssignment, isAmbientTalkObject, isJavaObjectUnderSymbiosis, isNativeBoolean, isNativeField, isNativeText
 

Method Detail

base_upon_do_

public ATClosure base_upon_do_(ATSymbol event,
                               ATClosure observer)
Installs an observer on this object

Parameters:
event - a symbol denoting a potentially interesting event
observer - a closure to be triggered when the event is fired
Returns:
a closure which can be applied to cancel the observer's subscription

base_fire_withArgs_

public ATNil base_fire_withArgs_(ATSymbol event,
                                 NATTable arguments)
                          throws InterpreterException
Fires an event with the given arguments. All the provided closures are applied ASYNCHRONOUSLY. This implies that exceptions thrown by such a closure will not prevent other observers from getting triggered. Moreover, observers are then triggered breadth-first as opposed to depth-first as is the case with synchronous invocations.

Parameters:
event - - the event being fired
arguments - - a possibly empty table of arguments to the event
Returns:
nil
Throws:
InterpreterException