Class EnumLiaison

java.lang.Object
space.arim.dazzleconf.engine.liaison.EnumLiaison
All Implemented Interfaces:
TypeLiaison

public final class EnumLiaison extends Object implements TypeLiaison
A liaison for enum types.

This liaison covers all types for which Class.isEnum() return true. It uses the enum names to match, in a case-insensitive fashion, user strings.

  • Constructor Details

    • EnumLiaison

      public EnumLiaison()
      Creates
  • Method Details

    • makeAgent

      @SideEffectFree public <V> @Nullable TypeLiaison.Agent<V> makeAgent(@NonNull TypeToken<V> typeToken, @NonNull TypeLiaison.Handshake handshake)
      Description copied from interface: TypeLiaison
      Attempts to support the following type.

      If supported, an agent is returned that handles type serialization, deserialization, and defaults. Note that implementations may need casting at the source level to satisfy the generic argument of the token requested.

      Specified by:
      makeAgent in interface TypeLiaison
      Type Parameters:
      V - the type being requested
      Parameters:
      typeToken - the type token
      handshake - the handshake
      Returns:
      the agent if supported, or null otherwise