Class JsonStreamParserImpl

java.lang.Object
org.apache.johnzon.core.JohnzonJsonParserImpl
org.apache.johnzon.core.JsonStreamParserImpl
All Implemented Interfaces:
jakarta.json.stream.JsonParser, Closeable, AutoCloseable, JohnzonJsonParser, JsonChars
Direct Known Subclasses:
CommentsJsonStreamParserImpl

public class JsonStreamParserImpl extends JohnzonJsonParserImpl implements JsonChars
  • Field Details

    • autoAdjust

      private final boolean autoAdjust
    • buffer

      private final char[] buffer
    • bufferPos

      private int bufferPos
    • bufferLeft

      private int bufferLeft
    • availableCharsInBuffer

      private int availableCharsInBuffer
    • startOfValueInBuffer

      private int startOfValueInBuffer
    • endOfValueInBuffer

      private int endOfValueInBuffer
    • in

      private final Reader in
    • bufferProvider

      private final BufferStrategy.BufferProvider<char[]> bufferProvider
    • valueProvider

      private final BufferStrategy.BufferProvider<char[]> valueProvider
    • maxValueLength

      private final int maxValueLength
    • previousEvent

      private byte previousEvent
    • fallBackCopyBuffer

      private char[] fallBackCopyBuffer
    • releaseFallBackCopyBuffer

      private boolean releaseFallBackCopyBuffer
    • fallBackCopyBufferLength

      private int fallBackCopyBufferLength
    • previousFallBackCopyBuffers

      private List<JsonStreamParserImpl.Buffer> previousFallBackCopyBuffers
    • currentLine

      private long currentLine
    • lastLineBreakPosition

      private long lastLineBreakPosition
    • pastBufferReadCount

      private long pastBufferReadCount
    • isCurrentNumberIntegral

      private boolean isCurrentNumberIntegral
    • currentIntegralNumber

      private int currentIntegralNumber
    • currentStructureElement

      private JsonStreamParserImpl.StructureElement currentStructureElement
    • arrayDepth

      private int arrayDepth
    • objectDepth

      private int objectDepth
    • closed

      private boolean closed
  • Constructor Details

  • Method Details

    • appendToCopyBuffer

      private void appendToCopyBuffer(char c)
    • copyCurrentValue

      private void copyCurrentValue()
    • createNewFallBackCopyBuffer

      private void createNewFallBackCopyBuffer()
    • releasePreviousFallBackCopyBuffers

      private void releasePreviousFallBackCopyBuffers()
    • hasNext

      public final boolean hasNext()
      Specified by:
      hasNext in interface jakarta.json.stream.JsonParser
    • isAsciiDigit

      private static boolean isAsciiDigit(char value)
    • parseHexDigit

      private int parseHexDigit(char value)
    • createLocation

      private jakarta.json.stream.JsonLocation createLocation()
    • readNextChar

      protected final char readNextChar()
    • readNextNonWhitespaceChar

      protected final char readNextNonWhitespaceChar(char c)
    • currentEvent

      public jakarta.json.stream.JsonParser.Event currentEvent()
      Specified by:
      currentEvent in interface jakarta.json.stream.JsonParser
    • current

      public jakarta.json.stream.JsonParser.Event current()
      Specified by:
      current in interface JohnzonJsonParser
      Returns:
      the _current_ Event. That's the one returned by the previous call to JsonParser.next() but without propagating the Event pointer to the next entry.
    • unreadChar

      private void unreadChar()
    • internalNext

      protected final jakarta.json.stream.JsonParser.Event internalNext()
      Specified by:
      internalNext in class JohnzonJsonParserImpl
    • defaultHandling

      protected jakarta.json.stream.JsonParser.Event defaultHandling(char c)
    • handleStartObject

      private jakarta.json.stream.JsonParser.Event handleStartObject()
    • handleEndObject

      private jakarta.json.stream.JsonParser.Event handleEndObject()
    • handleStartArray

      private jakarta.json.stream.JsonParser.Event handleStartArray()
    • handleEndArray

      private jakarta.json.stream.JsonParser.Event handleEndArray()
    • isInArray

      protected boolean isInArray()
      Specified by:
      isInArray in class JohnzonJsonParserImpl
      Returns:
      true if we are currently inside an array
    • isInObject

      protected boolean isInObject()
      Specified by:
      isInObject in class JohnzonJsonParserImpl
      Returns:
      true if we are currently inside an object
    • getCharArrayProvider

      protected BufferStrategy.BufferProvider<char[]> getCharArrayProvider()
      Specified by:
      getCharArrayProvider in class JohnzonJsonParserImpl
    • readString

      private void readString()
    • parseUnicodeHexChars

      private char parseUnicodeHexChars()
    • handleQuote

      private jakarta.json.stream.JsonParser.Event handleQuote()
    • readNumber

      private void readNumber()
    • handleLiteral

      private jakarta.json.stream.JsonParser.Event handleLiteral()
    • getString

      public String getString()
      Specified by:
      getString in interface jakarta.json.stream.JsonParser
    • combinePreviousFallbackBuffersToCurrent

      private void combinePreviousFallbackBuffersToCurrent()
    • isIntegralNumber

      public boolean isIntegralNumber()
      Specified by:
      isIntegralNumber in interface jakarta.json.stream.JsonParser
    • isNotTooLong

      public boolean isNotTooLong()
      Specified by:
      isNotTooLong in interface JohnzonJsonParser
    • getInt

      public int getInt()
      Specified by:
      getInt in interface jakarta.json.stream.JsonParser
    • getLong

      public long getLong()
      Specified by:
      getLong in interface jakarta.json.stream.JsonParser
    • isFitLong

      public boolean isFitLong()
      Specified by:
      isFitLong in interface JohnzonJsonParser
    • getBigDecimal

      public BigDecimal getBigDecimal()
      Specified by:
      getBigDecimal in interface jakarta.json.stream.JsonParser
    • getLocation

      public jakarta.json.stream.JsonLocation getLocation()
      Specified by:
      getLocation in interface jakarta.json.stream.JsonParser
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface jakarta.json.stream.JsonParser
    • parseLongFromChars

      private static Long parseLongFromChars(char[] chars, int start, int end)
    • parseIntegerFromChars

      private static Integer parseIntegerFromChars(char[] chars, int start, int end)
    • uexc

      private jakarta.json.stream.JsonParsingException uexc(char c, String message)
    • uexc

      private jakarta.json.stream.JsonParsingException uexc(String message)
    • tmc

      private jakarta.json.stream.JsonParsingException tmc()
    • uexio

      private jakarta.json.stream.JsonParsingException uexio(IOException e)
    • cust

      private jakarta.json.stream.JsonParsingException cust(String message)