Class JsonWriter
- java.lang.Object
-
- org.apache.logging.log4j.layout.template.json.util.JsonWriter
-
- All Implemented Interfaces:
AutoCloseable
,Cloneable
public final class JsonWriter extends Object implements AutoCloseable, Cloneable
A simple JSON writer with support for common Java data types.The following types have specific handlers:
- null input
Map
,IndexedReadOnlyStringMap
,StringMap
Collection
andList
Number
(BigDecimal
,BigInteger
,Float
,Double
,Byte
,Short
,Integer
, andLong
)Boolean
StringBuilderFormattable
- arrays of primitive types
char/boolean/byte/short/int/long/float/double and
Object
CharSequence
and char[] with necessary escaping
JSON standard quoting routines are borrowed from Jackson.
Note that this class provides no protection against recursive collections, e.g., an array where one or more elements reference to the array itself.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JsonWriter.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description JsonWriter
clone()
void
close()
int
getMaxStringLength()
StringBuilder
getStringBuilder()
String
getTruncatedStringSuffix()
static JsonWriter.Builder
newBuilder()
String
use(Runnable runnable)
void
writeArray(boolean[] items)
void
writeArray(byte[] items)
void
writeArray(char[] items)
void
writeArray(double[] items)
void
writeArray(float[] items)
void
writeArray(int[] items)
void
writeArray(long[] items)
void
writeArray(short[] items)
void
writeArray(Object[] items)
void
writeArray(Collection<Object> items)
void
writeArray(List<Object> items)
void
writeArrayEnd()
void
writeArrayStart()
void
writeBoolean(boolean value)
void
writeNull()
void
writeNumber(double number)
void
writeNumber(float number)
void
writeNumber(int number)
void
writeNumber(long number)
void
writeNumber(long integralPart, long fractionalPart)
void
writeNumber(short number)
void
writeNumber(BigDecimal number)
void
writeNumber(BigInteger number)
void
writeObject(Map<String,Object> map)
void
writeObject(IndexedReadOnlyStringMap map)
void
writeObject(StringMap map)
void
writeObjectEnd()
void
writeObjectKey(CharSequence key)
void
writeObjectStart()
void
writeRawString(char[] buffer)
void
writeRawString(char[] buffer, int offset, int length)
void
writeRawString(CharSequence seq)
void
writeRawString(CharSequence seq, int offset, int length)
void
writeSeparator()
void
writeString(char[] buffer)
void
writeString(char[] buffer, int offset, int length)
void
writeString(CharSequence seq)
void
writeString(CharSequence seq, int offset, int length)
<S> void
writeString(BiConsumer<StringBuilder,S> emitter, S state)
void
writeString(StringBuilderFormattable formattable)
void
writeValue(Object value)
-
-
-
Method Detail
-
getStringBuilder
public StringBuilder getStringBuilder()
-
getMaxStringLength
public int getMaxStringLength()
-
getTruncatedStringSuffix
public String getTruncatedStringSuffix()
-
writeValue
public void writeValue(Object value)
-
writeObject
public void writeObject(StringMap map)
-
writeObject
public void writeObject(IndexedReadOnlyStringMap map)
-
writeObjectStart
public void writeObjectStart()
-
writeObjectEnd
public void writeObjectEnd()
-
writeObjectKey
public void writeObjectKey(CharSequence key)
-
writeArray
public void writeArray(Collection<Object> items)
-
writeArray
public void writeArray(char[] items)
-
writeArray
public void writeArray(boolean[] items)
-
writeArray
public void writeArray(byte[] items)
-
writeArray
public void writeArray(short[] items)
-
writeArray
public void writeArray(int[] items)
-
writeArray
public void writeArray(long[] items)
-
writeArray
public void writeArray(float[] items)
-
writeArray
public void writeArray(double[] items)
-
writeArray
public void writeArray(Object[] items)
-
writeArrayStart
public void writeArrayStart()
-
writeArrayEnd
public void writeArrayEnd()
-
writeSeparator
public void writeSeparator()
-
writeString
public <S> void writeString(BiConsumer<StringBuilder,S> emitter, S state)
-
writeString
public void writeString(StringBuilderFormattable formattable)
-
writeString
public void writeString(CharSequence seq)
-
writeString
public void writeString(CharSequence seq, int offset, int length)
-
writeString
public void writeString(char[] buffer)
-
writeString
public void writeString(char[] buffer, int offset, int length)
-
writeNumber
public void writeNumber(BigDecimal number)
-
writeNumber
public void writeNumber(BigInteger number)
-
writeNumber
public void writeNumber(float number)
-
writeNumber
public void writeNumber(double number)
-
writeNumber
public void writeNumber(short number)
-
writeNumber
public void writeNumber(int number)
-
writeNumber
public void writeNumber(long number)
-
writeNumber
public void writeNumber(long integralPart, long fractionalPart)
-
writeBoolean
public void writeBoolean(boolean value)
-
writeNull
public void writeNull()
-
writeRawString
public void writeRawString(CharSequence seq)
-
writeRawString
public void writeRawString(CharSequence seq, int offset, int length)
-
writeRawString
public void writeRawString(char[] buffer)
-
writeRawString
public void writeRawString(char[] buffer, int offset, int length)
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
-
clone
public JsonWriter clone()
-
newBuilder
public static JsonWriter.Builder newBuilder()
-
-