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.GenericFormat
Handle formatted output for Lisp-like languages.
- See Also:
-
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.TryFormatResultNested classes/interfaces inherited from class gnu.kawa.format.AbstractFormat
gnu.kawa.format.AbstractFormat.FormatConsumerNested classes/interfaces inherited from class java.text.Format
Format.Field -
Field Summary
FieldsModifier and TypeFieldDescriptionintControls whether we check for sharing and cycles.static final ThreadLocationFluid parameter to specify default output base for printing rationals.static final ThreadLocationTrue if we should print a radix indicator when printing rationals.static final DisplayFormatstatic final DisplayFormatstatic final DisplayFormatstatic final DisplayFormatstatic gnu.kawa.format.GenericFormatFields inherited from class gnu.kawa.format.GenericFormat
next -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic DisplayFormatgetCommonLispFormat(boolean readable) static DisplayFormatgetEmacsLispFormat(boolean readable) booleanTrue if output should be easy to (machine-) read.static DisplayFormatgetSchemeFormat(boolean readable) booleanTrue 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 voidstatic gnu.kawa.format.GenericFormat.TryFormatResultstatic gnu.kawa.format.GenericFormat.TryFormatResultwriteCharSeq(Object value, gnu.kawa.format.AbstractFormat format, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResultstatic 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.TryFormatResultFormat 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.TryFormatResultstatic 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, tryFormatMethods inherited from class gnu.kawa.format.AbstractFormat
endAttribute, endElement, format, format, makeConsumer, parseObject, startAttribute, startElement, write, write, writeDouble, writeFloat, writeInt, writeLong, writeObject, writeObjectMethods inherited from class java.text.Format
clone, format, formatToCharacterIterator, parseObject
-
Field Details
-
standardFormat
public static gnu.kawa.format.GenericFormat standardFormat -
outBase
Fluid parameter to specify default output base for printing rationals. -
outRadix
True if we should print a radix indicator when printing rationals. The default is no; otherwise we follow Common Lisp conventions. -
schemeDisplayFormat
-
schemeWriteSimpleFormat
-
schemeWriteFormat
-
checkSharing
public int checkSharingControls whether we check for sharing and cycles. 1: check for sharing; 0: check for cycles: -1: no checking.
-
-
Constructor Details
-
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 Details
-
getEmacsLispFormat
-
getCommonLispFormat
-
getSchemeFormat
-
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
- Overrides:
writeBooleanin classgnu.kawa.format.AbstractFormat
-
writeBoolean
-
writeChar
-
writeRational
-
writeChar
-
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
-
writeRange
-
writeJavaArray
-
writeSequence
-
writeValues
-
writePrintableConsumable
-
writeObject
- Overrides:
writeObjectin classgnu.kawa.format.GenericFormat
-
writeObjectDefault
-
writeCharSeq
-
writeEnum
-
writeSymbol
-
writePicture
-
writeKNode
-
writePromise
-
writeURI
-