Class ShadowingSerializableDecoder<T>

java.lang.Object
io.deephaven.enterprise.compatibility.shadow.ShadowingSerializableDecoder<T>
Type Parameters:
T - - The type of object this decoder will create
All Implemented Interfaces:
io.deephaven.shadow.enterprise.com.illumon.util.codec.ObjectCodec<T>, io.deephaven.shadow.enterprise.com.illumon.util.codec.ObjectDecoder<T>, ObjectCodec<T>, ObjectDecoder<T>

public class ShadowingSerializableDecoder<T> extends Object implements ObjectCodec<T>, io.deephaven.shadow.enterprise.com.illumon.util.codec.ObjectCodec<T>
An ObjectCodec implementation for Serializable object that internally uses a ShadowingObjectInputStream to automatically replace detected shadowed classes in the object stream with their shadowed versions.
  • Constructor Details

    • ShadowingSerializableDecoder

      public ShadowingSerializableDecoder(String dummy)
  • Method Details

    • getInstance

      public static <T> ShadowingSerializableDecoder<T> getInstance()
    • encode

      @NotNull public @org.jetbrains.annotations.NotNull byte[] encode(@Nullable T input)
      Specified by:
      encode in interface io.deephaven.shadow.enterprise.com.illumon.util.codec.ObjectCodec<T>
      Specified by:
      encode in interface ObjectCodec<T>
    • isNullable

      public boolean isNullable()
      Specified by:
      isNullable in interface io.deephaven.shadow.enterprise.com.illumon.util.codec.ObjectCodec<T>
      Specified by:
      isNullable in interface ObjectCodec<T>
    • getPrecision

      public int getPrecision()
      Specified by:
      getPrecision in interface io.deephaven.shadow.enterprise.com.illumon.util.codec.ObjectCodec<T>
      Specified by:
      getPrecision in interface ObjectCodec<T>
    • getScale

      public int getScale()
      Specified by:
      getScale in interface io.deephaven.shadow.enterprise.com.illumon.util.codec.ObjectCodec<T>
      Specified by:
      getScale in interface ObjectCodec<T>
    • decode

      @Nullable public T decode(@NotNull @org.jetbrains.annotations.NotNull byte[] input, int offset, int length)
      Specified by:
      decode in interface io.deephaven.shadow.enterprise.com.illumon.util.codec.ObjectDecoder<T>
      Specified by:
      decode in interface ObjectDecoder<T>
    • expectedObjectWidth

      public int expectedObjectWidth()
      Specified by:
      expectedObjectWidth in interface io.deephaven.shadow.enterprise.com.illumon.util.codec.ObjectDecoder<T>
      Specified by:
      expectedObjectWidth in interface ObjectDecoder<T>
    • checkWidth

      public void checkWidth(int actualWidth) throws IllegalArgumentException
      Specified by:
      checkWidth in interface io.deephaven.shadow.enterprise.com.illumon.util.codec.ObjectDecoder<T>
      Specified by:
      checkWidth in interface ObjectDecoder<T>
      Throws:
      IllegalArgumentException