Class BinaryDtoBaseFieldCodec<T>

java.lang.Object
io.datarouter.bytes.binarydto.fieldcodec.BinaryDtoBaseFieldCodec<T>
Direct Known Subclasses:
BaseArrayBinaryDtoFieldCodec, BinaryDtoConvertingFieldCodec, BinaryDtoField.BinaryDtoInvalidCodec, BooleanArrayBinaryDtoFieldCodec, BooleanBinaryDtoFieldCodec, ByteArrayBinaryDtoFieldCodec, ByteBinaryDtoFieldCodec, CharArrayBinaryDtoFieldCodec, CharBinaryDtoFieldCodec, DoubleArrayBinaryDtoFieldCodec, DoubleBinaryDtoFieldCodec, EnumBinaryDtoFieldCodec, FloatArrayBinaryDtoFieldCodec, FloatBinaryDtoFieldCodec, InstantBinaryDtoFieldCodec, IntArrayBinaryDtoFieldCodec, IntBinaryDtoFieldCodec, LongArrayBinaryDtoFieldCodec, LongBinaryDtoFieldCodec, NestedBinaryDtoFieldCodec, ShortArrayBinaryDtoFieldCodec, ShortBinaryDtoFieldCodec, SignedByteArrayBinaryDtoFieldCodec, Utf8BinaryDtoFieldCodec, VarIntBinaryDtoFieldCodec

public abstract class BinaryDtoBaseFieldCodec<T>
extends Object
  • Constructor Details

    • BinaryDtoBaseFieldCodec

      public BinaryDtoBaseFieldCodec()
  • Method Details

    • isFixedLength

      public boolean isFixedLength()
    • isVariableLength

      public boolean isVariableLength()
    • fixedLength

      public int fixedLength()
    • supportsComparableCodec

      public abstract boolean supportsComparableCodec()
      Override with true if the codec is suitable for comparable encoding.
    • encode

      public abstract byte[] encode​(T value)
    • decode

      public abstract T decode​(byte[] bytes, int offset, int length)
    • decode

      public T decode​(byte[] bytes)
    • compareAsIfEncoded

      public int compareAsIfEncoded​(T left, T right)
      Override this with optimized implementations that avoid encoding.