Class ObjectSerializer

java.lang.Object
org.polyfrost.oneconfig.api.config.v1.serialize.ObjectSerializer

public class ObjectSerializer extends Object
  • Field Details

    • INSTANCE

      public static final ObjectSerializer INSTANCE
    • FIELD_SKIP_MODIFIERS

      public static final int FIELD_SKIP_MODIFIERS
      Modifier.SYNTHETIC | Modifier.TRANSIENT | Modifier.STATIC
      See Also:
  • Method Details

    • isSerializable

      public static boolean isSerializable(Object in)
    • getAllFields

      public static Field[] getAllFields(Class<?> cls)
    • isImmutable

      public static boolean isImmutable(Class<?> cls)
      true if no instance field of this class can be assigned, i.e. the class is a value type. Such objects can only be replaced, never mutated in place.
    • fieldStream

      public static Stream<Field> fieldStream(Class<?> cls)
    • registerTypeAdapter

      public void registerTypeAdapter(Adapter<?,?> adapter)
    • registerTypeAdapter

      public void registerTypeAdapter(Adapter<?,?>... adapters)
    • serialize

      public Object serialize(Object in)
    • serialize

      public Object serialize(Object in, boolean useLists)
    • getAdapter

      public <T> Adapter<T,?> getAdapter(Class<T> cls)
    • serialize

      public Object serialize(Object in, boolean useLists, boolean boxArrays)
      Convert the given object into a series of simple values that should be supported by most backend serializers.
      Parameters:
      in - the object
      useLists - if your serializer uses lists instead of arrays for collections of items
      boxArrays - if your serializer requires boxed primitive arrays
      Returns:
      the source object, in a simple form
      See Also:
    • deserialize

      public Object deserialize(Map<String,Object> in)
      Deserialize the given complex object map. The map must contain the class field.
      Parameters:
      in - the map
      Returns:
      the completed object
    • overwrite

      public static <T> T overwrite(T self, T input)