Class Encoders

java.lang.Object
io.fury.format.encoder.Encoders

public class Encoders extends Object
Factory to create Encoder.
Author:
chaokunyang, ganrunsheng
  • Constructor Details

    • Encoders

      public Encoders()
  • Method Details

    • bean

      public static <T> RowEncoder<T> bean(Class<T> beanClass)
    • bean

      public static <T> RowEncoder<T> bean(Class<T> beanClass, int initialBufferSize)
    • bean

      public static <T> RowEncoder<T> bean(Class<T> beanClass, Fury fury)
    • bean

      public static <T> RowEncoder<T> bean(Class<T> beanClass, Fury fury, int initialBufferSize)
    • bean

      public static <T> RowEncoder<T> bean(Class<T> beanClass, BinaryRowWriter writer)
    • bean

      public static <T> RowEncoder<T> bean(Class<T> beanClass, BinaryRowWriter writer, Fury fury)
      Creates an encoder for Java Bean of type T.

      T must be publicly accessible.

      supported types for java bean field: - primitive types: boolean, int, double, etc. - boxed types: Boolean, Integer, Double, etc. - String - java.math.BigDecimal, java.math.BigInteger - time related: java.sql.Date, java.sql.Timestamp, java.time.LocalDate, java.time.Instant - collection types: only array and java.util.List currently, map support is in progress - nested java bean.

    • arrayEncoder

      public static <T extends Collection> ArrayEncoder<T> arrayEncoder(com.google.common.reflect.TypeToken<T> token)
      Supported nested list format. For instance, nest collection can be expressed as Collection in Collection. Input param must explicit specified type, like this: new TypeToken instance with Collection in Collection type.
      Type Parameters:
      T - T is a array type, can be a nested list type.
      Parameters:
      token - TypeToken instance which explicit specified the type.
      Returns:
    • arrayEncoder

      public static <T extends Collection> ArrayEncoder<T> arrayEncoder(com.google.common.reflect.TypeToken<T> token, Fury fury)
    • arrayEncoder

      public static <T extends Collection, B> ArrayEncoder<T> arrayEncoder(Class<? extends Collection> arrayCls, Class<B> elementType)
      The underlying implementation uses array, only supported Collection format, because generic type such as List is erased to simply List, so a bean class input param is required.
      Returns:
    • arrayEncoder

      public static <T extends Collection, B> ArrayEncoder<T> arrayEncoder(com.google.common.reflect.TypeToken<? extends Collection> arrayToken, com.google.common.reflect.TypeToken<B> elementType, BinaryArrayWriter writer, Fury fury)
      Creates an encoder for Java Bean of type T.

      T must be publicly accessible.

      supported types for java bean field: - primitive types: boolean, int, double, etc. - boxed types: Boolean, Integer, Double, etc. - String - java.math.BigDecimal, java.math.BigInteger - time related: java.sql.Date, java.sql.Timestamp, java.time.LocalDate, java.time.Instant - collection types: only array and java.util.List currently, map support is in progress - nested java bean.

    • mapEncoder

      public static <T extends Map> MapEncoder<T> mapEncoder(com.google.common.reflect.TypeToken<T> token)
      Supported nested map format. For instance, nest map can be expressed as Map in Map. Input param must explicit specified type, like this: new TypeToken instance with Collection in Collection type.
      Type Parameters:
      T - T is a array type, can be a nested list type.
      Parameters:
      token - TypeToken instance which explicit specified the type.
      Returns:
    • mapEncoder

      public static <T extends Map, K, V> MapEncoder<T> mapEncoder(Class<? extends Map> mapCls, Class<K> keyType, Class<V> valueType)
      The underlying implementation uses array, only supported Map format, because generic type such as List is erased to simply List, so a bean class input param is required.
      Returns:
    • mapEncoder

      public static <T extends Map> MapEncoder<T> mapEncoder(com.google.common.reflect.TypeToken<T> token, Fury fury)
    • mapEncoder

      public static <T extends Map, K, V> MapEncoder<T> mapEncoder(com.google.common.reflect.TypeToken<? extends Map> mapToken, com.google.common.reflect.TypeToken<K> keyToken, com.google.common.reflect.TypeToken<V> valToken, Fury fury)
      Creates an encoder for Java Bean of type T.

      T must be publicly accessible.

      supported types for java bean field: - primitive types: boolean, int, double, etc. - boxed types: Boolean, Integer, Double, etc. - String - java.math.BigDecimal, java.math.BigInteger - time related: java.sql.Date, java.sql.Timestamp, java.time.LocalDate, java.time.Instant - collection types: only array and java.util.List currently, map support is in progress - nested java bean.

    • loadOrGenRowCodecClass

      public static Class<?> loadOrGenRowCodecClass(Class<?> beanClass)