Class ValueGetter

java.lang.Object
io.github.sebasbaumh.postgis.binary.ValueGetter
Direct Known Subclasses:
BinaryValueGetter, StringValueGetter

public abstract class ValueGetter extends Object
A base class for value readers.
Author:
Sebastian Baumhekel
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected static interface 
    Builder for an int from a byte sequence.
    protected static interface 
    Builder for a long from a byte sequence.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected int
    Current encoding (default is little endian encoding).
    Builder for integer values respecting the current encoding (default is little endian encoding).
    Builder for long values respecting the current encoding (default is little endian encoding).
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs an instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Get a double value.
    int
    Get an integer value.
    long
    Get a long value.
    protected abstract int
    Gets a byte at the current index.
    void
    Reads the encoding and adjusts the internal decoder if necessary.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • endian

      protected int endian
      Current encoding (default is little endian encoding).
    • funcInt

      protected ValueGetter.IntBuilder funcInt
      Builder for integer values respecting the current encoding (default is little endian encoding).
    • funcLong

      protected ValueGetter.LongBuilder funcLong
      Builder for long values respecting the current encoding (default is little endian encoding).
  • Constructor Details

    • ValueGetter

      public ValueGetter()
      Constructs an instance.
  • Method Details

    • getDouble

      public double getDouble()
      Get a double value.
      Returns:
      double value
    • getInt

      public int getInt()
      Get an integer value.
      Returns:
      integer value
    • getLong

      public long getLong()
      Get a long value.
      Returns:
      long value
    • getNextByte

      protected abstract int getNextByte()
      Gets a byte at the current index.
      Returns:
      byte
      Throws:
      IndexOutOfBoundsException - if the current index is out of the range
    • readEncoding

      public void readEncoding()
      Reads the encoding and adjusts the internal decoder if necessary.
      Throws:
      IllegalArgumentException - if the endian type is unknown