edu.vub.at.objects.natives
Class NATText

java.lang.Object
  extended byedu.vub.at.objects.natives.NATNil
      extended byedu.vub.at.objects.natives.NATByCopy
          extended byedu.vub.at.objects.natives.grammar.NATAbstractGrammar
              extended byedu.vub.at.objects.natives.grammar.AGExpression
                  extended byedu.vub.at.objects.natives.NATText
All Implemented Interfaces:
ATAbstractGrammar, ATConversions, ATExpression, ATNil, ATObject, ATStatement, ATText, java.io.Serializable

public final class NATText
extends AGExpression
implements ATText

The native implementation of an AmbientTalk text string. A text string is implemented by a Java String.

Author:
tvc
See Also:
Serialized Form

Field Summary
 java.lang.String javaValue
           
 
Fields inherited from class edu.vub.at.objects.natives.NATNil
_INSTANCE_
 
Constructor Summary
private NATText(java.lang.String javaString)
           
 
Method Summary
 char asChar()
           
 NATText asNativeText()
           
static NATText atValue(java.lang.String javaString)
          This method currently serves as a hook for text creation.
 ATNumber base__opltx__opeql__opgtx_(ATText other)
           
 ATText base__oppls_(ATObject other)
           
 ATBoolean base__optil__opeql_(ATText other)
           
 ATTable base_explode()
          Explodes a text string into a table of constinuent characters
 ATNil base_find_do_(ATText regexp, ATClosure consumer)
           
 ATNumber base_length()
           
 ATText base_replace_by_(ATText regexp, ATClosure transformer)
           
 ATTable base_split(ATText regexp)
          Split the string according to the given regular expression.
 ATText base_toLowerCase()
           
 ATText base_toUpperCase()
           
 boolean equals(java.lang.Object other)
          By default, two AmbientTalk objects are equal if they are the same object, or one is a proxy for the same object.
 int hashCode()
           
 boolean isNativeText()
           
 ATTable meta_getStripes()
          Returns the stripes of this object.
 NATText meta_print()
          Prints out the object in a human-readable way.
 
Methods inherited from class edu.vub.at.objects.natives.grammar.AGExpression
base_asExpression
 
Methods inherited from class edu.vub.at.objects.natives.NATByCopy
meta_pass, meta_resolve
 
Methods inherited from class edu.vub.at.objects.natives.NATNil
asAmbientTalkObject, asJavaClassUnderSymbiosis, asJavaObjectUnderSymbiosis, asNativeBoolean, asNativeException, asNativeFarReference, asNativeFraction, asNativeNumber, asNativeNumeric, asNativeTable, base__opeql__opeql_, base_asActorMirror, base_asAsyncMessage, base_asBegin, base_asBoolean, base_asClosure, base_asDefinition, 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_init, 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, base_new, createChild, isAmbientTalkObject, isJavaObjectUnderSymbiosis, isNativeBoolean, isNativeField, meta_addField, meta_addMethod, meta_assignField, meta_assignVariable, meta_clone, meta_defineField, meta_doesNotUnderstand, meta_eval, meta_extend, meta_getDynamicParent, meta_getLexicalParent, meta_grabField, meta_grabMethod, meta_invoke, meta_isCloneOf, meta_isRelatedTo, meta_isStripedWith, meta_listFields, meta_listMethods, meta_lookup, meta_newInstance, meta_quote, meta_receive, meta_respondsTo, meta_select, meta_send, meta_share, readResolve, toString, writeReplace
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
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_grabField, meta_grabMethod, meta_invoke, meta_isCloneOf, meta_isRelatedTo, meta_isStripedWith, meta_listFields, meta_listMethods, meta_lookup, meta_newInstance, meta_pass, 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, 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
 

Field Detail

javaValue

public final java.lang.String javaValue
Constructor Detail

NATText

private NATText(java.lang.String javaString)
Method Detail

atValue

public static final NATText atValue(java.lang.String javaString)
This method currently serves as a hook for text creation. Currently text objects are not reused, but this might change in the future.


isNativeText

public boolean isNativeText()
Specified by:
isNativeText in interface ATConversions
Overrides:
isNativeText in class NATNil

asNativeText

public NATText asNativeText()
                     throws XTypeMismatch
Specified by:
asNativeText in interface ATConversions
Overrides:
asNativeText in class NATNil
Throws:
XTypeMismatch

meta_print

public NATText meta_print()
                   throws InterpreterException
Description copied from interface: ATObject
Prints out the object in a human-readable way.

Specified by:
meta_print in interface ATObject
Overrides:
meta_print in class NATNil
Throws:
InterpreterException

meta_getStripes

public ATTable meta_getStripes()
                        throws InterpreterException
Description copied from interface: ATObject
Returns the stripes of this object. Note that only the stripes that were attached directly to this object are returned, not all of the parent's stripes as well.

Specified by:
meta_getStripes in interface ATObject
Overrides:
meta_getStripes in class AGExpression
Throws:
InterpreterException

equals

public boolean equals(java.lang.Object other)
Description copied from class: NATNil
By default, two AmbientTalk objects are equal if they are the same object, or one is a proxy for the same object.

Overrides:
equals in class NATNil

hashCode

public int hashCode()

base_explode

public ATTable base_explode()
                     throws InterpreterException
Explodes a text string into a table of constinuent characters

Specified by:
base_explode in interface ATText
Throws:
InterpreterException

base_split

public ATTable base_split(ATText regexp)
                   throws InterpreterException
Split the string according to the given regular expression. For regular expression syntax, see the Java API.

Specified by:
base_split in interface ATText
Throws:
InterpreterException

base_find_do_

public ATNil base_find_do_(ATText regexp,
                           ATClosure consumer)
                    throws InterpreterException
Specified by:
base_find_do_ in interface ATText
Throws:
InterpreterException

base_replace_by_

public ATText base_replace_by_(ATText regexp,
                               ATClosure transformer)
                        throws InterpreterException
Specified by:
base_replace_by_ in interface ATText
Throws:
InterpreterException

base_toUpperCase

public ATText base_toUpperCase()
Specified by:
base_toUpperCase in interface ATText

base_toLowerCase

public ATText base_toLowerCase()
Specified by:
base_toLowerCase in interface ATText

base_length

public ATNumber base_length()
Specified by:
base_length in interface ATText

base__oppls_

public ATText base__oppls_(ATObject other)
                    throws InterpreterException
Specified by:
base__oppls_ in interface ATText
Throws:
InterpreterException

base__opltx__opeql__opgtx_

public ATNumber base__opltx__opeql__opgtx_(ATText other)
                                    throws InterpreterException
Specified by:
base__opltx__opeql__opgtx_ in interface ATText
Throws:
InterpreterException

base__optil__opeql_

public ATBoolean base__optil__opeql_(ATText other)
                              throws InterpreterException
Specified by:
base__optil__opeql_ in interface ATText
Throws:
InterpreterException

asChar

public char asChar()
            throws XTypeMismatch
Throws:
XTypeMismatch