Class SimpleJsonReader


public class SimpleJsonReader extends DataReader
Reads a JSON stream created by SimpleJsonWriter.
See Also:
  • Constructor Details

    • SimpleJsonReader

      public SimpleJsonReader(File file)
    • SimpleJsonReader

      public SimpleJsonReader(Reader reader)
  • Method Details

    • isUseBigDecimal

      public boolean isUseBigDecimal()
      Indicates if decimal numbers are read as BigDecimal instead of Double (default is false).
    • setUseBigDecimal

      public SimpleJsonReader setUseBigDecimal(boolean useBigDecimal)
      Indicates if decimal numbers are read as BigDecimal instead of Double (default is false).
    • isUseBigInteger

      public boolean isUseBigInteger()
      Returns whether BigInteger should be used for reading large numeric values. When enabled, integer values are read as BigInteger instead of Long to handle values larger than Long.MAX_VALUE.
      Returns:
      true if BigInteger is used for numeric values, false otherwise (default is false)
    • setUseBigInteger

      public SimpleJsonReader setUseBigInteger(boolean useBigInteger)
      Sets whether BigInteger should be used for reading large numeric values. When enabled, integer values are read as BigInteger instead of Long to handle values larger than Long.MAX_VALUE.
      Parameters:
      useBigInteger - true to use BigInteger, false to use Long (default is false)
      Returns:
      this SimpleJsonReader instance for method chaining
    • close

      public void close() throws DataException
      Description copied from class: DataEndpoint
      Indicates that this endpoint has finished reading or writing.
      Overrides:
      close in class DataEndpoint
      Throws:
      DataException
    • readImpl

      protected Record readImpl() throws Throwable
      Description copied from class: DataReader
      Overridden by subclasses to read the next record from this DataReader. The default implementation of DataReader.read() now insures that this method will not be called again after it returns a null.

      If no record is available, null will be returned.

      Contract for subclasses (see also docs/authoring/DataReader.md):

      Specified by:
      readImpl in class DataReader
      Throws:
      Throwable
    • isLineageSupported

      public boolean isLineageSupported()
      Description copied from class: DataReader
      Indicates if this reader can capture record and field lineage (false unless overridden by a reader that supports it).
      Overrides:
      isLineageSupported in class DataReader
    • addLineage

      protected Record addLineage(Record record)
      Description copied from class: DataReader
      Called by DataReader.read() for each record from DataReader.readImpl() while lineage is saved; the default copies recordLineage into every field along with its original index and name. Overrides set their source details on recordLineage first and end with super.addLineage(record).
      Overrides:
      addLineage in class DataReader
    • addExceptionProperties

      public DataException addExceptionProperties(DataException exception)
      Description copied from class: Endpoint
      Adds this endpoint's current state to a DataException. Since this method is called whenever an exception is thrown, subclasses should override it to add their specific information.
      Overrides:
      addExceptionProperties in class DataReader
    • isAutoCloseReader

      public boolean isAutoCloseReader()
    • setAutoCloseReader

      public SimpleJsonReader setAutoCloseReader(boolean autoCloseReader)