Class ValueGetter
java.lang.Object
io.github.sebasbaumh.postgis.binary.ValueGetter
- Direct Known Subclasses:
BinaryValueGetter
,StringValueGetter
A base class for value readers.
- Author:
- Sebastian Baumhekel
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static interface
Builder for an int from a byte sequence.protected static interface
Builder for a long from a byte sequence. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
Current encoding (default is little endian encoding).protected ValueGetter.IntBuilder
Builder for integer values respecting the current encoding (default is little endian encoding).protected ValueGetter.LongBuilder
Builder for long values respecting the current encoding (default is little endian encoding). -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
endian
protected int endianCurrent encoding (default is little endian encoding). -
funcInt
Builder for integer values respecting the current encoding (default is little endian encoding). -
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
-