Class AbstractTypeIdProvider

java.lang.Object
com.pnfsoftware.jeb.util.serialization.AbstractTypeIdProvider
All Implemented Interfaces:
ITypeIdProvider
Direct Known Subclasses:
NativeTypeIdProvider

public abstract class AbstractTypeIdProvider extends Object implements ITypeIdProvider
Base class for a type-id provider used for serialization. Type-id providers can be used to de-couple the a saved object from its type name. The type-id can be saved instead, allowing type names to change without breaking the deserialization process.
  • Constructor Details

    • AbstractTypeIdProvider

      protected AbstractTypeIdProvider()
  • Method Details

    • getId

      public int getId(Class<?> c)
      Description copied from interface: ITypeIdProvider
      Get the ype-id of a given type.
      Specified by:
      getId in interface ITypeIdProvider
      Parameters:
      c - the non-null type
      Returns:
      0 if the provider cannot find a corresponding type-id for the provided type
    • getType

      public Class<?> getType(int typeId)
      Description copied from interface: ITypeIdProvider
      Get a type by type-id.
      Specified by:
      getType in interface ITypeIdProvider
      Parameters:
      typeId - the non-zero type-id
      Returns:
      the type, null if not found
    • getMap

      public Map<Class<?>,Integer> getMap()
      Description copied from interface: ITypeIdProvider
      Get the map of type to type-id.
      Specified by:
      getMap in interface ITypeIdProvider
      Returns:
      the type-id map
    • getReverseMap

      public Map<Integer,Class<?>> getReverseMap()
      Description copied from interface: ITypeIdProvider
      Get the reverse type-id map, mapping a type-id to a type.
      Specified by:
      getReverseMap in interface ITypeIdProvider
      Returns:
      the reverse type-id map
    • addAll

      public void addAll(ITypeIdProvider provider)
      Description copied from interface: ITypeIdProvider
      Add of types from a provider to this provider.
      Specified by:
      addAll in interface ITypeIdProvider
      Parameters:
      provider - another provider
    • loadTypes

      protected abstract void loadTypes(Map<Class<?>,Integer> map, Map<Integer,Integer> movedmap)