Package org.apache.juneau.json
Class JsonWriter
java.lang.Object
java.io.Writer
org.apache.juneau.serializer.SerializerWriter
org.apache.juneau.json.JsonWriter
- All Implemented Interfaces:
Closeable
,Flushable
,Appendable
,AutoCloseable
Specialized writer for serializing JSON.
Notes:
- This class is not intended for external use.
See Also:
-
Field Summary
Fields inherited from class org.apache.juneau.serializer.SerializerWriter
maxIndent, out, quoteChar, trimStrings, uriResolver, useWhitespace
-
Constructor Summary
ModifierConstructorDescriptionprotected
JsonWriter
(Writer out, boolean useWhitespace, int maxIndent, boolean escapeSolidus, char quoteChar, boolean simpleAttrs, boolean trimStrings, UriResolver uriResolver) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionappend
(char c) append
(int indent, char c) Writes an indent (if theuseWhitespace
setting is enabled), followed by text.Writes an indent (if theuseWhitespace
setting is enabled), followed by text.Writes the specified text to the writer if it isn'tnull .Writes the specified text to the writer if it isn'tnull .appendIf
(boolean b, char c) Writes the specified text to the writer if b is true.Writes the specified text to the writer if b is true.Writes an indent (if theuseWhitespace
setting is enabled), followed by text, followed by a newline (if theuseWhitespace
setting is enabled).Writes the specified text followed by a newline (if theuseWhitespace
setting is enabled).Serializes the specified object as a JSON attribute name.cr
(int depth) Performs a carriage return.cre
(int depth) Performs a carriage return at the end of a line.i
(int indent) Writes an indent to the writer if theuseWhitespace
setting is enabled.nl
(int indent) Writes a newline to the writer if theuseWhitespace
setting is enabled.q()
Adds the quote character specified by thequoteChar
setting to the output.s()
Adds a whitespace character to the output if theuseWhitespace
setting is enabled.s
(int indent) Adds a space only if the current indentation level is below maxIndent.smi
(int depth) Performs an indentation only if we're currently past max indentation.Serializes the specified object as a JSON string value.Appends a URI to the output.w
(char value) Writes the specified character to the writer.Writes the specified string to the writer.
-
Constructor Details
-
JsonWriter
protected JsonWriter(Writer out, boolean useWhitespace, int maxIndent, boolean escapeSolidus, char quoteChar, boolean simpleAttrs, boolean trimStrings, UriResolver uriResolver) Constructor.- Parameters:
out
- The writer being wrapped.useWhitespace
- Iftrue , tabs and spaces will be used in output.maxIndent
- The maximum indentation level.escapeSolidus
- Iftrue , forward slashes should be escaped in the output.quoteChar
- The quote character to use (i.e.'\'' or'"' )simpleAttrs
- Iftrue , JSON attributes will only be quoted when necessary.trimStrings
- Iftrue , strings will be trimmed before being serialized.uriResolver
- The URI resolver for resolving URIs to absolute or root-relative form.
-
-
Method Details
-
stringValue
Serializes the specified object as a JSON string value.- Parameters:
s
- The object being serialized.- Returns:
- This object.
-
attr
Serializes the specified object as a JSON attribute name.- Parameters:
s
- The object being serialized.- Returns:
- This object.
-
uriValue
Appends a URI to the output.- Parameters:
uri
- The URI to append to the output.- Returns:
- This object.
-
smi
Performs an indentation only if we're currently past max indentation.- Parameters:
depth
- The current indentation depth.- Returns:
- This object.
-
s
Adds a space only if the current indentation level is below maxIndent.- Parameters:
indent
- The number of spaces to indent.- Returns:
- This object.
-
cr
Description copied from class:SerializerWriter
Performs a carriage return.Adds a newline and the specified number of tabs (if the
useWhitespace
setting is enabled) to the output.- Overrides:
cr
in classSerializerWriter
- Parameters:
depth
- The indentation.- Returns:
- This object.
-
cre
Description copied from class:SerializerWriter
Performs a carriage return at the end of a line.Adds a newline and the specified number of tabs (if the
useWhitespace
setting is enabled) to the output.- Overrides:
cre
in classSerializerWriter
- Parameters:
depth
- The indentation.- Returns:
- This object.
-
appendln
Description copied from class:SerializerWriter
Writes an indent (if theuseWhitespace
setting is enabled), followed by text, followed by a newline (if theuseWhitespace
setting is enabled).- Overrides:
appendln
in classSerializerWriter
- Parameters:
indent
- The number of tabs to indent.text
- The text to write.- Returns:
- This object.
-
appendln
Description copied from class:SerializerWriter
Writes the specified text followed by a newline (if theuseWhitespace
setting is enabled).- Overrides:
appendln
in classSerializerWriter
- Parameters:
text
- The text to write.- Returns:
- This object.
-
append
Description copied from class:SerializerWriter
Writes an indent (if theuseWhitespace
setting is enabled), followed by text.- Overrides:
append
in classSerializerWriter
- Parameters:
indent
- The number of tabs to indent.text
- The text to write.- Returns:
- This object.
-
append
Description copied from class:SerializerWriter
Writes an indent (if theuseWhitespace
setting is enabled), followed by text.- Overrides:
append
in classSerializerWriter
- Parameters:
indent
- The number of tabs to indent.c
- The character to write.- Returns:
- This object.
-
s
Description copied from class:SerializerWriter
Adds a whitespace character to the output if theuseWhitespace
setting is enabled.- Overrides:
s
in classSerializerWriter
- Returns:
- This object.
-
w
Description copied from class:SerializerWriter
Writes the specified character to the writer.- Overrides:
w
in classSerializerWriter
- Parameters:
value
- The character to write.- Returns:
- This object.
-
w
Description copied from class:SerializerWriter
Writes the specified string to the writer.- Overrides:
w
in classSerializerWriter
- Parameters:
value
- The string to write.- Returns:
- This object.
-
q
Description copied from class:SerializerWriter
Adds the quote character specified by thequoteChar
setting to the output.- Overrides:
q
in classSerializerWriter
- Returns:
- This object.
-
i
Description copied from class:SerializerWriter
Writes an indent to the writer if theuseWhitespace
setting is enabled.- Overrides:
i
in classSerializerWriter
- Parameters:
indent
- The number of tabs to indent.- Returns:
- This object.
-
nl
Description copied from class:SerializerWriter
Writes a newline to the writer if theuseWhitespace
setting is enabled.- Overrides:
nl
in classSerializerWriter
- Parameters:
indent
- The current indentation level.- Returns:
- This object.
-
append
Description copied from class:SerializerWriter
Writes the specified text to the writer if it isn'tnull .- Overrides:
append
in classSerializerWriter
- Parameters:
text
- The text to write.- Returns:
- This object.
-
append
Description copied from class:SerializerWriter
Writes the specified text to the writer if it isn'tnull .- Overrides:
append
in classSerializerWriter
- Parameters:
text
- The text to write.- Returns:
- This object.
-
appendIf
Description copied from class:SerializerWriter
Writes the specified text to the writer if b is true.- Overrides:
appendIf
in classSerializerWriter
- Parameters:
b
- Boolean flag.text
- The text to write.- Returns:
- This object.
-
appendIf
Description copied from class:SerializerWriter
Writes the specified text to the writer if b is true.- Overrides:
appendIf
in classSerializerWriter
- Parameters:
b
- Boolean flag.c
- The text to write.- Returns:
- This object.
-
append
- Specified by:
append
in interfaceAppendable
- Overrides:
append
in classSerializerWriter
-