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.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
FieldsModifier and TypeFieldDescriptionint
Controls whether we check for sharing and cycles.static final ThreadLocation
Fluid parameter to specify default output base for printing rationals.static final ThreadLocation
True if we should print a radix indicator when printing rationals.static final DisplayFormat
static final DisplayFormat
static final DisplayFormat
static final DisplayFormat
static gnu.kawa.format.GenericFormat
Fields inherited from class gnu.kawa.format.GenericFormat
next
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic DisplayFormat
getCommonLispFormat
(boolean readable) static DisplayFormat
getEmacsLispFormat
(boolean readable) boolean
True if output should be easy to (machine-) read.static DisplayFormat
getSchemeFormat
(boolean readable) boolean
True if strings/characters are written without escape or quoting.static gnu.kawa.format.GenericFormat.TryFormatResult
writeArray
(Object value, gnu.kawa.format.AbstractFormat format, Consumer out) void
writeBoolean
(boolean v, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResult
writeBoolean
(Object v, gnu.kawa.format.AbstractFormat f, Consumer out) static void
static gnu.kawa.format.GenericFormat.TryFormatResult
static gnu.kawa.format.GenericFormat.TryFormatResult
writeCharSeq
(Object value, gnu.kawa.format.AbstractFormat format, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResult
static gnu.kawa.format.GenericFormat.TryFormatResult
writeJavaArray
(Object value, gnu.kawa.format.AbstractFormat format, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResult
writeKNode
(Object value, gnu.kawa.format.AbstractFormat format, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResult
Format a list.void
writeObject
(Object obj, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResult
writeObjectDefault
(Object obj, gnu.kawa.format.AbstractFormat format, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResult
writePicture
(Object value, gnu.kawa.format.AbstractFormat format, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResult
writePrintableConsumable
(Object value, gnu.kawa.format.AbstractFormat format, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResult
writePromise
(Object value, gnu.kawa.format.AbstractFormat format, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResult
writeRange
(Object value, gnu.kawa.format.AbstractFormat format, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResult
writeRational
(Object obj, gnu.kawa.format.AbstractFormat format, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResult
writeSequence
(Object value, gnu.kawa.format.AbstractFormat format, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResult
writeSymbol
(Object value, gnu.kawa.format.AbstractFormat format, Consumer out) static gnu.kawa.format.GenericFormat.TryFormatResult
static gnu.kawa.format.GenericFormat.TryFormatResult
writeValues
(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 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.AbstractFormat
True if output should be easy to (machine-) read. I.e. is this format like Scheme 'write' rather than 'display'.- Overrides:
getReadableOutput
in classgnu.kawa.format.AbstractFormat
-
textIsCopied
public boolean textIsCopied()Description copied from class:gnu.kawa.format.AbstractFormat
True if strings/characters are written without escape or quoting.- Overrides:
textIsCopied
in classgnu.kawa.format.AbstractFormat
-
writeBoolean
- Overrides:
writeBoolean
in 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:
writeObject
in classgnu.kawa.format.GenericFormat
-
writeObjectDefault
-
writeCharSeq
-
writeEnum
-
writeSymbol
-
writePicture
-
writeKNode
-
writePromise
-
writeURI
-