程序包 io.packable

类 PackEncoder

java.lang.Object
io.packable.PackEncoder

public final class PackEncoder extends Object
PackEncoder 作用:将对象编码成字节数组
  • 构造器详细资料

    • PackEncoder

      public PackEncoder()
  • 方法详细资料

    • encode

      public static <T> byte[] encode(T target, TypeAdapter<T> adapter)
    • encodeObjectList

      public static <T> byte[] encodeObjectList(List<T> value, TypeAdapter<T> adapter)
    • encodeIntArray

      public static byte[] encodeIntArray(int[] value)
    • encodeLongArray

      public static byte[] encodeLongArray(long[] value)
    • encodeStringList

      public static byte[] encodeStringList(List<String> value)
    • toBytes

      public byte[] toBytes()
      获取编码的字节数组。
      当调用此方法后,[buffer] 会被回收,请勿再次调用
      返回:
      序列化后的byte数组
    • putByte

      public PackEncoder putByte(int index, byte value)
    • putBoolean

      public PackEncoder putBoolean(int index, boolean value)
    • putShort

      public PackEncoder putShort(int index, short value)
    • putInt

      public PackEncoder putInt(int index, int value)
    • putLong

      public PackEncoder putLong(int index, long value)
    • putFloat

      public PackEncoder putFloat(int index, float value)
    • putDouble

      public PackEncoder putDouble(int index, double value)
    • putString

      public PackEncoder putString(int index, String value)
    • putObject

      public <T> PackEncoder putObject(int index, T value, TypeAdapter<T> adapter)
    • putStringArray

      public PackEncoder putStringArray(int index, String[] value)
    • putObjectArray

      public <T> PackEncoder putObjectArray(int index, T[] value, TypeAdapter<T> adapter)
    • putBooleanArray

      public PackEncoder putBooleanArray(int index, boolean[] value)
    • putByteArray

      public PackEncoder putByteArray(int index, byte[] value)
    • putIntArray

      public PackEncoder putIntArray(int index, int[] value)
    • putLongArray

      public PackEncoder putLongArray(int index, long[] value)
    • putFloatArray

      public PackEncoder putFloatArray(int index, float[] value)
    • putDoubleArray

      public PackEncoder putDoubleArray(int index, double[] value)
    • putIntList

      public PackEncoder putIntList(int index, Collection<Integer> value)
    • putLongList

      public PackEncoder putLongList(int index, Collection<Long> value)
    • putFloatList

      public PackEncoder putFloatList(int index, Collection<Float> value)
    • putDoubleList

      public PackEncoder putDoubleList(int index, Collection<Double> value)
    • putObjectList

      public <T> PackEncoder putObjectList(int index, Collection<? extends T> value, TypeAdapter<T> adapter)
    • putStringList

      public PackEncoder putStringList(int index, Collection<String> value)
    • putMap

      public <K, V> PackEncoder putMap(int index, Map<K,V> map)
      编码Map
      类型参数:
      K - 支持[Int, Long, String]类型。
      V - 支持[Boolean, Int, Long, Float, Double, String]类型。
      参数:
      index - 下标
      map - Map对象
      返回:
      PackEncoder
    • putMap

      public <K, V> PackEncoder putMap(int index, Map<K,V> map, TypeAdapter<V> valueTypeAdapter)
      编码Map
      类型参数:
      K - 支持[Int, Long, String]类型。
      V - 支持[Boolean, Int, Long, Float, Double, String]类型。 可通过传 [valuePacker] 支持其他类型。
      参数:
      index - 下标
      map - Map对象
      valueTypeAdapter - value的打包器
      返回:
      PackEncoder
    • putMap

      public <K, V> PackEncoder putMap(int index, Map<K,V> map, TypeAdapter<K> keyAdapter, TypeAdapter<V> valueAdapter)
    • putMap

      public <K, V> PackEncoder putMap(int index, Map<K,V> map, Class<K> keyType, Class<V> valueType, TypeAdapter<K> keyAdapter, TypeAdapter<V> valueAdapter)