Package gnu.kawa.functions
Class DisplayFormat
- java.lang.Object
-
- java.text.Format
-
- gnu.kawa.format.AbstractFormat
-
- gnu.kawa.format.GenericFormat
-
- gnu.kawa.functions.DisplayFormat
-
- All Implemented Interfaces:
Serializable,Cloneable
public class DisplayFormat extends gnu.kawa.format.GenericFormatHandle formatted output for Lisp-like languages.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class gnu.kawa.format.GenericFormat
gnu.kawa.format.GenericFormat.Entry, gnu.kawa.format.GenericFormat.MethodEntry, gnu.kawa.format.GenericFormat.TryFormatResult
-
Nested classes/interfaces inherited from class gnu.kawa.format.AbstractFormat
gnu.kawa.format.AbstractFormat.FormatConsumer
-
Nested classes/interfaces inherited from class java.text.Format
Format.Field
-
-
Field Summary
Fields Modifier and Type Field Description intcheckSharingControls whether we check for sharing and cycles.static ThreadLocationoutBaseFluid parameter to specify default output base for printing rationals.static ThreadLocationoutRadixTrue if we should print a radix indicator when printing rationals.static DisplayFormatschemeDisplayFormatstatic DisplayFormatschemeWriteFormatstatic DisplayFormatschemeWriteSharedFormatstatic DisplayFormatschemeWriteSimpleFormatstatic gnu.kawa.format.GenericFormatstandardFormat
-
Constructor Summary
Constructors Constructor Description DisplayFormat(boolean readable, char language)Create a new instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DisplayFormatgetCommonLispFormat(boolean readable)static DisplayFormatgetEmacsLispFormat(boolean readable)booleangetReadableOutput()True if output should be easy to (machine-) read.static DisplayFormatgetSchemeFormat(boolean readable)booleantextIsCopied()True if strings/characters are written without escape or quoting.static gnu.kawa.format.GenericFormat.TryFormatResultwriteArray(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)voidwriteBoolean(boolean v, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteBoolean(Object v, gnu.kawa.format.AbstractFormat f, Consumer out)static voidwriteChar(int v, boolean readable, char language, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteChar(Object v, gnu.kawa.format.AbstractFormat f, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteCharSeq(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteEnum(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteJavaArray(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteKNode(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteList(Object list, gnu.kawa.format.AbstractFormat format, Consumer out)Format a list.voidwriteObject(Object obj, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteObjectDefault(Object obj, gnu.kawa.format.AbstractFormat format, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwritePicture(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwritePrintableConsumable(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwritePromise(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteRange(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteRational(Object obj, gnu.kawa.format.AbstractFormat format, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteSequence(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteSymbol(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteURI(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)static gnu.kawa.format.GenericFormat.TryFormatResultwriteValues(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)-
Methods inherited from class gnu.kawa.format.GenericFormat
add, add, addInvalidatingCache, invalidateCache, tryFormat
-
Methods inherited from class gnu.kawa.format.AbstractFormat
endAttribute, endElement, format, format, makeConsumer, parseObject, startAttribute, startElement, write, write, writeDouble, writeFloat, writeInt, writeLong, writeObject, writeObject
-
Methods inherited from class java.text.Format
clone, format, formatToCharacterIterator, parseObject
-
-
-
-
Field Detail
-
standardFormat
public static gnu.kawa.format.GenericFormat standardFormat
-
outBase
public static final ThreadLocation outBase
Fluid parameter to specify default output base for printing rationals.
-
outRadix
public static final ThreadLocation outRadix
True if we should print a radix indicator when printing rationals. The default is no; otherwise we follow Common Lisp conventions.
-
schemeDisplayFormat
public static final DisplayFormat schemeDisplayFormat
-
schemeWriteSimpleFormat
public static final DisplayFormat schemeWriteSimpleFormat
-
schemeWriteFormat
public static final DisplayFormat schemeWriteFormat
-
schemeWriteSharedFormat
public static final DisplayFormat schemeWriteSharedFormat
-
checkSharing
public int checkSharing
Controls whether we check for sharing and cycles. 1: check for sharing; 0: check for cycles: -1: no checking.
-
-
Constructor Detail
-
DisplayFormat
public DisplayFormat(boolean readable, char language)Create a new instance.- Parameters:
readable- if output should be formatted so it could be read back in again, for example strings shoudl be quoted.language- the programming language style to use, where 'S' is Scheme, 'C' is Common Lisp, and 'E' is Emacs Lisp.
-
-
Method Detail
-
getEmacsLispFormat
public static DisplayFormat getEmacsLispFormat(boolean readable)
-
getCommonLispFormat
public static DisplayFormat getCommonLispFormat(boolean readable)
-
getSchemeFormat
public static DisplayFormat getSchemeFormat(boolean readable)
-
getReadableOutput
public boolean getReadableOutput()
Description copied from class:gnu.kawa.format.AbstractFormatTrue if output should be easy to (machine-) read. I.e. is this format like Scheme 'write' rather than 'display'.- Overrides:
getReadableOutputin classgnu.kawa.format.AbstractFormat
-
textIsCopied
public boolean textIsCopied()
Description copied from class:gnu.kawa.format.AbstractFormatTrue if strings/characters are written without escape or quoting.- Overrides:
textIsCopiedin classgnu.kawa.format.AbstractFormat
-
writeBoolean
public void writeBoolean(boolean v, Consumer out)- Overrides:
writeBooleanin classgnu.kawa.format.AbstractFormat
-
writeBoolean
public static gnu.kawa.format.GenericFormat.TryFormatResult writeBoolean(Object v, gnu.kawa.format.AbstractFormat f, Consumer out)
-
writeChar
public static gnu.kawa.format.GenericFormat.TryFormatResult writeChar(Object v, gnu.kawa.format.AbstractFormat f, Consumer out)
-
writeRational
public static gnu.kawa.format.GenericFormat.TryFormatResult writeRational(Object obj, gnu.kawa.format.AbstractFormat format, Consumer out)
-
writeChar
public static void writeChar(int v, boolean readable, char language, Consumer out)
-
writeList
public static gnu.kawa.format.GenericFormat.TryFormatResult writeList(Object list, gnu.kawa.format.AbstractFormat format, Consumer out)
Format a list. Try to find shared structures in a list. To accomplish this, each subobject is hashed to the idhash, which is used later to determine whether we've seen a subobject before. There is an added complication when you consider cases like this: '((b . #1=(a . z)) 3) It is not known in advance that the printer will have to emit an extra ')' after the '(a . z) pair. Every time we CDR further into the list, we push a position marker onto a stack. Once we've examined the tail of this sublist, we pop all the posn markers off and tell the pretty printer that it might have to emit an extra ')' if the corresponding posn marker becomes active.- Parameters:
list- The list on which the method CDR's, termination occurs when this becomes a non-pair or the empty listout- The output port that is responsible for the pretty printing
-
writeArray
public static gnu.kawa.format.GenericFormat.TryFormatResult writeArray(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)
-
writeRange
public static gnu.kawa.format.GenericFormat.TryFormatResult writeRange(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)
-
writeJavaArray
public static gnu.kawa.format.GenericFormat.TryFormatResult writeJavaArray(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)
-
writeSequence
public static gnu.kawa.format.GenericFormat.TryFormatResult writeSequence(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)
-
writeValues
public static gnu.kawa.format.GenericFormat.TryFormatResult writeValues(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)
-
writePrintableConsumable
public static gnu.kawa.format.GenericFormat.TryFormatResult writePrintableConsumable(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)
-
writeObject
public void writeObject(Object obj, Consumer out)
- Overrides:
writeObjectin classgnu.kawa.format.GenericFormat
-
writeObjectDefault
public static gnu.kawa.format.GenericFormat.TryFormatResult writeObjectDefault(Object obj, gnu.kawa.format.AbstractFormat format, Consumer out)
-
writeCharSeq
public static gnu.kawa.format.GenericFormat.TryFormatResult writeCharSeq(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)
-
writeEnum
public static gnu.kawa.format.GenericFormat.TryFormatResult writeEnum(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)
-
writeSymbol
public static gnu.kawa.format.GenericFormat.TryFormatResult writeSymbol(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)
-
writePicture
public static gnu.kawa.format.GenericFormat.TryFormatResult writePicture(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)
-
writeKNode
public static gnu.kawa.format.GenericFormat.TryFormatResult writeKNode(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)
-
writePromise
public static gnu.kawa.format.GenericFormat.TryFormatResult writePromise(Object value, gnu.kawa.format.AbstractFormat format, Consumer out)
-
-