- java.lang.Object
-
- org.eclipse.parsson.JsonGeneratorImpl
-
- All Implemented Interfaces:
jakarta.json.stream.JsonGenerator
,java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
- Direct Known Subclasses:
JsonPrettyGeneratorImpl
class JsonGeneratorImpl extends java.lang.Object implements jakarta.json.stream.JsonGenerator
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
JsonGeneratorImpl.Context
private static class
JsonGeneratorImpl.Scope
-
Field Summary
Fields Modifier and Type Field Description private char[]
buf
private BufferPool
bufferPool
private boolean
closed
private JsonGeneratorImpl.Context
currentContext
private static char[]
DIGIT_ONES
private static char[]
DIGIT_TENS
private static char[]
DIGITS
All possible chars for representing a number as a Stringprivate static int[]
INT_CHARS_SIZE_TABLE
private static char[]
INT_MIN_VALUE_CHARS
private int
len
private java.util.Deque<JsonGeneratorImpl.Context>
stack
private java.io.Writer
writer
-
Constructor Summary
Constructors Constructor Description JsonGeneratorImpl(java.io.OutputStream out, java.nio.charset.Charset encoding, JsonContext jsonContext)
JsonGeneratorImpl(java.io.OutputStream out, JsonContext jsonContext)
JsonGeneratorImpl(java.io.Writer writer, JsonContext jsonContext)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkContextForValue()
void
close()
private static void
fillIntChars(int i, char[] buf, int index)
Places characters representing the integer i into the character array buf.void
flush()
(package private) void
flushBuffer()
(package private) void
getChars(java.lang.CharSequence str, int srcBegin, int srcEnd, char[] dst, int dstBegin)
protected boolean
inNone()
(package private) boolean
isCommaAllowed()
private void
popFieldContext()
private static int
stringSize(int x)
jakarta.json.stream.JsonGenerator
write(boolean value)
jakarta.json.stream.JsonGenerator
write(double value)
jakarta.json.stream.JsonGenerator
write(int value)
jakarta.json.stream.JsonGenerator
write(long value)
jakarta.json.stream.JsonGenerator
write(jakarta.json.JsonValue value)
jakarta.json.stream.JsonGenerator
write(java.lang.String value)
jakarta.json.stream.JsonGenerator
write(java.lang.String name, boolean value)
jakarta.json.stream.JsonGenerator
write(java.lang.String name, double value)
jakarta.json.stream.JsonGenerator
write(java.lang.String name, int value)
jakarta.json.stream.JsonGenerator
write(java.lang.String name, long value)
jakarta.json.stream.JsonGenerator
write(java.lang.String name, jakarta.json.JsonValue value)
(package private) void
write(java.lang.String name, java.lang.CharSequence fieldValue)
jakarta.json.stream.JsonGenerator
write(java.lang.String name, java.lang.String fieldValue)
jakarta.json.stream.JsonGenerator
write(java.lang.String name, java.math.BigDecimal value)
jakarta.json.stream.JsonGenerator
write(java.lang.String name, java.math.BigInteger value)
jakarta.json.stream.JsonGenerator
write(java.math.BigDecimal value)
jakarta.json.stream.JsonGenerator
write(java.math.BigInteger value)
(package private) void
writeChar(char c)
protected void
writeColon()
protected void
writeComma()
jakarta.json.stream.JsonGenerator
writeEnd()
(package private) void
writeEscapedString(java.lang.CharSequence string)
(package private) void
writeInt(int num)
jakarta.json.stream.JsonGenerator
writeKey(java.lang.String name)
private jakarta.json.stream.JsonGenerator
writeName(java.lang.String name)
jakarta.json.stream.JsonGenerator
writeNull()
jakarta.json.stream.JsonGenerator
writeNull(java.lang.String name)
jakarta.json.stream.JsonGenerator
writeStartArray()
jakarta.json.stream.JsonGenerator
writeStartArray(java.lang.String name)
jakarta.json.stream.JsonGenerator
writeStartObject()
jakarta.json.stream.JsonGenerator
writeStartObject(java.lang.String name)
(package private) void
writeString(java.lang.CharSequence str)
(package private) void
writeString(java.lang.CharSequence str, int begin, int end)
private void
writeValue(java.lang.String value)
private void
writeValue(java.lang.String name, java.lang.String value)
-
-
-
Field Detail
-
INT_MIN_VALUE_CHARS
private static final char[] INT_MIN_VALUE_CHARS
-
INT_CHARS_SIZE_TABLE
private static final int[] INT_CHARS_SIZE_TABLE
-
DIGIT_TENS
private static final char[] DIGIT_TENS
-
DIGIT_ONES
private static final char[] DIGIT_ONES
-
DIGITS
private static final char[] DIGITS
All possible chars for representing a number as a String
-
bufferPool
private final BufferPool bufferPool
-
writer
private final java.io.Writer writer
-
currentContext
private JsonGeneratorImpl.Context currentContext
-
stack
private final java.util.Deque<JsonGeneratorImpl.Context> stack
-
buf
private final char[] buf
-
len
private int len
-
closed
private boolean closed
-
-
Constructor Detail
-
JsonGeneratorImpl
JsonGeneratorImpl(java.io.Writer writer, JsonContext jsonContext)
-
JsonGeneratorImpl
JsonGeneratorImpl(java.io.OutputStream out, JsonContext jsonContext)
-
JsonGeneratorImpl
JsonGeneratorImpl(java.io.OutputStream out, java.nio.charset.Charset encoding, JsonContext jsonContext)
-
-
Method Detail
-
flush
public void flush()
- Specified by:
flush
in interfacejava.io.Flushable
- Specified by:
flush
in interfacejakarta.json.stream.JsonGenerator
-
writeStartObject
public jakarta.json.stream.JsonGenerator writeStartObject()
- Specified by:
writeStartObject
in interfacejakarta.json.stream.JsonGenerator
-
writeStartObject
public jakarta.json.stream.JsonGenerator writeStartObject(java.lang.String name)
- Specified by:
writeStartObject
in interfacejakarta.json.stream.JsonGenerator
-
writeName
private jakarta.json.stream.JsonGenerator writeName(java.lang.String name)
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, java.lang.String fieldValue)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, int value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, long value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, double value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, java.math.BigInteger value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, java.math.BigDecimal value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, boolean value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
writeNull
public jakarta.json.stream.JsonGenerator writeNull(java.lang.String name)
- Specified by:
writeNull
in interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(jakarta.json.JsonValue value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
writeStartArray
public jakarta.json.stream.JsonGenerator writeStartArray()
- Specified by:
writeStartArray
in interfacejakarta.json.stream.JsonGenerator
-
writeStartArray
public jakarta.json.stream.JsonGenerator writeStartArray(java.lang.String name)
- Specified by:
writeStartArray
in interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, jakarta.json.JsonValue value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(int value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(long value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(double value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.math.BigInteger value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
checkContextForValue
private void checkContextForValue()
-
write
public jakarta.json.stream.JsonGenerator write(java.math.BigDecimal value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
popFieldContext
private void popFieldContext()
-
write
public jakarta.json.stream.JsonGenerator write(boolean value)
- Specified by:
write
in interfacejakarta.json.stream.JsonGenerator
-
writeNull
public jakarta.json.stream.JsonGenerator writeNull()
- Specified by:
writeNull
in interfacejakarta.json.stream.JsonGenerator
-
writeValue
private void writeValue(java.lang.String value)
-
writeValue
private void writeValue(java.lang.String name, java.lang.String value)
-
writeKey
public jakarta.json.stream.JsonGenerator writeKey(java.lang.String name)
- Specified by:
writeKey
in interfacejakarta.json.stream.JsonGenerator
-
writeEnd
public jakarta.json.stream.JsonGenerator writeEnd()
- Specified by:
writeEnd
in interfacejakarta.json.stream.JsonGenerator
-
write
void write(java.lang.String name, java.lang.CharSequence fieldValue)
-
writeComma
protected void writeComma()
-
inNone
protected boolean inNone()
-
isCommaAllowed
boolean isCommaAllowed()
-
writeColon
protected void writeColon()
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in interfacejakarta.json.stream.JsonGenerator
-
writeEscapedString
void writeEscapedString(java.lang.CharSequence string)
-
writeString
void writeString(java.lang.CharSequence str, int begin, int end)
-
writeString
void writeString(java.lang.CharSequence str)
-
writeChar
void writeChar(char c)
-
writeInt
void writeInt(int num)
-
flushBuffer
void flushBuffer()
-
stringSize
private static int stringSize(int x)
-
getChars
void getChars(java.lang.CharSequence str, int srcBegin, int srcEnd, char[] dst, int dstBegin)
-
fillIntChars
private static void fillIntChars(int i, char[] buf, int index)
Places characters representing the integer i into the character array buf. The characters are placed into the buffer backwards starting with the least significant digit at the specified index (exclusive), and working backwards from there. Will fail if i == Integer.MIN_VALUE
-
-