sisc.data
Class SchemeString

java.lang.Object
  extended by sisc.util.Util
      extended by sisc.data.Expression
          extended by sisc.data.Value
              extended by sisc.data.SchemeString
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, Immediate, ExpressionVisitee, Version
Direct Known Subclasses:
ImmutableString

public class SchemeString
extends Value

See Also:
Serialized Form

Field Summary
static boolean compactRepresentation
           
 
Fields inherited from class sisc.data.Expression
annotations, EMPTYSET
 
Fields inherited from class sisc.util.Util
BACKQUOTE, BEGIN, bundles, caseSensitive, EMPTYLIST, EMPTYVEC, EOF, ERRORK, EVAL, EXPSC, EXPTOP, FALSE, FCONT, FIVE, JEXCEPTION, LAMBDA, LOCATION, maxFloatPrecision, MESSAGE, minFloatPrecision, NAME, OTHER, PARENT, permitInterrupts, QUOTE, QUOTESYM, REPORT, SETBANG, SISC, SISC_SPECIFIC, SISCB, SOURCE_COLUMN, SOURCE_FILE, SOURCE_LINE, SYMENV, THIS, TOPLEVEL, TRUE, UNQUOTE, UNQUOTE_SPLICING, VOID, ZV
 
Fields inherited from interface sisc.util.Version
VERSION
 
Constructor Summary
SchemeString()
           
SchemeString(char[] data)
           
SchemeString(java.lang.String s)
           
 
Method Summary
 void appendTo(java.lang.StringBuffer buf)
           
 java.lang.String asString()
           
 char charAt(int index)
           
 SchemeString copy()
           
 void deserialize(Deserializer s)
          All Expressions must implement a default (no-argument) constructor.
 void display(ValueWriter w)
           
 int length()
           
 int readFromReader(java.io.Reader r, int off, int len)
           
 void serialize(Serializer s)
          All Expressions must implement a default (no-argument) constructor.
 void set(char[] ca)
           
 void set(int k, char c)
           
 void set(java.lang.String s)
           
 SchemeString substring(int from, int to)
           
 java.lang.String toString()
           
 boolean valueEqual(Value v)
          Compares this value to another for semantic equality.
 int valueHashCode()
          a hashCode function consistent with valueEqual
 void write(ValueWriter w)
           
 void writeToWriter(java.io.Writer w, int off, int len)
           
 
Methods inherited from class sisc.data.Value
apply, displayNamedOpaque, equals, eqv, eval, express, getValue, synopsis, synopsis, writeReplace
 
Methods inherited from class sisc.data.Expression
deserializeAnnotations, getAnnotation, getAnnotation, getAnnotationKeys, getAnnotations, getName, readExternal, readResolve, serializeAnnotations, setAnnotation, setAnnotation, setName, visit, visitAnnotations, writeExternal
 
Methods inherited from class sisc.util.Util
annotated, annotatedAppEval, append, argCheck, argsToSymbols, assq, bininport, bininstream, binoutport, binoutstream, box, character, charinport, charinreader, charoutport, charoutwriter, charsetFromString, chr, cont, currentClassLoader, env, error, error, error, error, error, error, error, expr, getDefaultCharacterSet, immutablePair, immutableVector, inport, javaExceptionToString, javaWrap, justify, length, liMessage, liMessage, liMessage, liMessage, liMessage, liMessage, liMessage, list, list, list, list, list, makeURL, mapcar, memq, nlib, num, outport, pair, pairToExpressions, pairToExpVect, pairToValues, proc, read, registerBundle, reverse, reverseInPlace, simpleErrorToString, sourceAnnotations, str, string, sym, symbol, symval, truePair, truth, truth, typeError, typeError, updateName, url, url, url, valArrayToList, valArrayToList, valArrayToVec, vec, warn, warn, warn
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

compactRepresentation

public static boolean compactRepresentation
Constructor Detail

SchemeString

public SchemeString()

SchemeString

public SchemeString(java.lang.String s)

SchemeString

public SchemeString(char[] data)
Method Detail

asString

public java.lang.String asString()

length

public int length()

charAt

public char charAt(int index)

valueEqual

public boolean valueEqual(Value v)
Description copied from class: Value
Compares this value to another for semantic equality. Used to implement Scheme's 'equal?'. Subclasses must test for pointer equality as well as semantic equality, so that infinite loops on recursive structures are less likely.

Overrides:
valueEqual in class Value
Parameters:
v - the other Value

valueHashCode

public int valueHashCode()
Description copied from class: Value
a hashCode function consistent with valueEqual

Overrides:
valueHashCode in class Value
Returns:
hash code

appendTo

public void appendTo(java.lang.StringBuffer buf)

copy

public SchemeString copy()

substring

public SchemeString substring(int from,
                              int to)

set

public void set(int k,
                char c)

set

public void set(java.lang.String s)

set

public void set(char[] ca)

readFromReader

public int readFromReader(java.io.Reader r,
                          int off,
                          int len)
                   throws java.io.IOException
Throws:
java.io.IOException

writeToWriter

public void writeToWriter(java.io.Writer w,
                          int off,
                          int len)
                   throws java.io.IOException
Throws:
java.io.IOException

display

public void display(ValueWriter w)
             throws java.io.IOException
Specified by:
display in class Value
Throws:
java.io.IOException

write

public void write(ValueWriter w)
           throws java.io.IOException
Overrides:
write in class Value
Throws:
java.io.IOException

toString

public java.lang.String toString()
Overrides:
toString in class Value

serialize

public void serialize(Serializer s)
               throws java.io.IOException
Description copied from class: Expression
All Expressions must implement a default (no-argument) constructor. Those that wish to be serialized to a heap must implement both this and the deserialize method. The Expression may use any method of the Serializer, which implements java.io.DataOutput to write its state.

Overrides:
serialize in class Expression
Parameters:
s - the Serializer
Throws:
java.io.IOException

deserialize

public void deserialize(Deserializer s)
                 throws java.io.IOException
Description copied from class: Expression
All Expressions must implement a default (no-argument) constructor. Those that wish to b serialized to a heap must implement both this and the serialize method. The Expression may use any method of the DataInput stream and the Deserializer serialization context to read its state.

Overrides:
deserialize in class Expression
Parameters:
s - the Deserializer
Throws:
java.io.IOException