edu.vub.at.objects
Interface ATField

All Superinterfaces:
ATConversions, ATObject
All Known Implementing Classes:
JavaField, NATField, NativeField

public interface ATField
extends ATObject

ATFields provide a mapping from an immutable name to a potentially mutable value. Note that when field objects are added to an object, and that object is cloned, the field object will be re-instantiated (i.e. its 'new' method is invoked). This implies that any object implementing ATField should provide a meta_newInstance method whose sole initarg is the new host for the field.

Author:
smostinc

Method Summary
 ATSymbol base_getName()
           
 ATObject base_readField()
           
 ATNil base_writeField(ATObject newValue)
          Sets the value of the field if possible
 
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_getName

public ATSymbol base_getName()
                      throws InterpreterException
Returns:
a string by which the slot can be identified.
Throws:
InterpreterException

base_readField

public ATObject base_readField()
                        throws InterpreterException
Returns:
the current value of the field.
Throws:
InterpreterException

base_writeField

public ATNil base_writeField(ATObject newValue)
                      throws InterpreterException
Sets the value of the field if possible

Parameters:
newValue - - the value the field should hold.
Returns:
- the return value is ignored.
Throws:
InterpreterException - - if the field cannot be modified.