- 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 classJsonGeneratorImpl.Contextprivate static classJsonGeneratorImpl.Scope
-
Field Summary
Fields Modifier and Type Field Description private char[]bufprivate BufferPoolbufferPoolprivate booleanclosedprivate JsonGeneratorImpl.ContextcurrentContextprivate static char[]DIGIT_ONESprivate static char[]DIGIT_TENSprivate static char[]DIGITSAll possible chars for representing a number as a Stringprivate static int[]INT_CHARS_SIZE_TABLEprivate static char[]INT_MIN_VALUE_CHARSprivate intlenprivate java.util.Deque<JsonGeneratorImpl.Context>stackprivate java.io.Writerwriter
-
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 voidcheckContextForValue()voidclose()private static voidfillIntChars(int i, char[] buf, int index)Places characters representing the integer i into the character array buf.voidflush()(package private) voidflushBuffer()(package private) voidgetChars(java.lang.CharSequence str, int srcBegin, int srcEnd, char[] dst, int dstBegin)protected booleaninNone()(package private) booleanisCommaAllowed()private voidpopFieldContext()private static intstringSize(int x)jakarta.json.stream.JsonGeneratorwrite(boolean value)jakarta.json.stream.JsonGeneratorwrite(double value)jakarta.json.stream.JsonGeneratorwrite(int value)jakarta.json.stream.JsonGeneratorwrite(long value)jakarta.json.stream.JsonGeneratorwrite(jakarta.json.JsonValue value)jakarta.json.stream.JsonGeneratorwrite(java.lang.String value)jakarta.json.stream.JsonGeneratorwrite(java.lang.String name, boolean value)jakarta.json.stream.JsonGeneratorwrite(java.lang.String name, double value)jakarta.json.stream.JsonGeneratorwrite(java.lang.String name, int value)jakarta.json.stream.JsonGeneratorwrite(java.lang.String name, long value)jakarta.json.stream.JsonGeneratorwrite(java.lang.String name, jakarta.json.JsonValue value)(package private) voidwrite(java.lang.String name, java.lang.CharSequence fieldValue)jakarta.json.stream.JsonGeneratorwrite(java.lang.String name, java.lang.String fieldValue)jakarta.json.stream.JsonGeneratorwrite(java.lang.String name, java.math.BigDecimal value)jakarta.json.stream.JsonGeneratorwrite(java.lang.String name, java.math.BigInteger value)jakarta.json.stream.JsonGeneratorwrite(java.math.BigDecimal value)jakarta.json.stream.JsonGeneratorwrite(java.math.BigInteger value)(package private) voidwriteChar(char c)protected voidwriteColon()protected voidwriteComma()jakarta.json.stream.JsonGeneratorwriteEnd()(package private) voidwriteEscapedString(java.lang.CharSequence string)(package private) voidwriteInt(int num)jakarta.json.stream.JsonGeneratorwriteKey(java.lang.String name)private jakarta.json.stream.JsonGeneratorwriteName(java.lang.String name)jakarta.json.stream.JsonGeneratorwriteNull()jakarta.json.stream.JsonGeneratorwriteNull(java.lang.String name)jakarta.json.stream.JsonGeneratorwriteStartArray()jakarta.json.stream.JsonGeneratorwriteStartArray(java.lang.String name)jakarta.json.stream.JsonGeneratorwriteStartObject()jakarta.json.stream.JsonGeneratorwriteStartObject(java.lang.String name)(package private) voidwriteString(java.lang.CharSequence str)(package private) voidwriteString(java.lang.CharSequence str, int begin, int end)private voidwriteValue(java.lang.String value)private voidwriteValue(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:
flushin interfacejava.io.Flushable- Specified by:
flushin interfacejakarta.json.stream.JsonGenerator
-
writeStartObject
public jakarta.json.stream.JsonGenerator writeStartObject()
- Specified by:
writeStartObjectin interfacejakarta.json.stream.JsonGenerator
-
writeStartObject
public jakarta.json.stream.JsonGenerator writeStartObject(java.lang.String name)
- Specified by:
writeStartObjectin 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:
writein interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, int value)- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, long value)- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, double value)- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, java.math.BigInteger value)- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, java.math.BigDecimal value)- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, boolean value)- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
writeNull
public jakarta.json.stream.JsonGenerator writeNull(java.lang.String name)
- Specified by:
writeNullin interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(jakarta.json.JsonValue value)
- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
writeStartArray
public jakarta.json.stream.JsonGenerator writeStartArray()
- Specified by:
writeStartArrayin interfacejakarta.json.stream.JsonGenerator
-
writeStartArray
public jakarta.json.stream.JsonGenerator writeStartArray(java.lang.String name)
- Specified by:
writeStartArrayin interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String name, jakarta.json.JsonValue value)- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.lang.String value)
- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(int value)
- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(long value)
- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(double value)
- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
write
public jakarta.json.stream.JsonGenerator write(java.math.BigInteger value)
- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
checkContextForValue
private void checkContextForValue()
-
write
public jakarta.json.stream.JsonGenerator write(java.math.BigDecimal value)
- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
popFieldContext
private void popFieldContext()
-
write
public jakarta.json.stream.JsonGenerator write(boolean value)
- Specified by:
writein interfacejakarta.json.stream.JsonGenerator
-
writeNull
public jakarta.json.stream.JsonGenerator writeNull()
- Specified by:
writeNullin 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:
writeKeyin interfacejakarta.json.stream.JsonGenerator
-
writeEnd
public jakarta.json.stream.JsonGenerator writeEnd()
- Specified by:
writeEndin 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:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein 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
-
-