Class ClassSerializer<T>

java.lang.Object
kr.toxicity.command.impl.ClassSerializer<T>
Type Parameters:
T - type of target class

public abstract class ClassSerializer<T> extends Object
Class serializer
  • Field Details

    • DEFAULT

      public static final CommandMessage DEFAULT
      Default null message
  • Method Details

    • optional

      public CommandMessage optional()
      Gets optional argument message
      Returns:
      argument message
    • required

      public CommandMessage required()
      Gets required argument message
      Returns:
      argument message
    • name

      @NotNull public abstract @NotNull String name()
      Gets a name of this serializer
      Returns:
      name
    • suggests

      @NotNull public abstract @NotNull @Unmodifiable List<String> suggests(@NotNull @NotNull BetterCommandSource source)
      Suggests a proper string by its source
      Parameters:
      source - command source
      Returns:
      list of string
    • deserialize

      @Nullable public abstract T deserialize(@NotNull @NotNull BetterCommandSource source, @NotNull @NotNull String raw)
      Deserialize string to target instance
      Parameters:
      source - command source
      raw - raw string
      Returns:
      an instance of this class or null if unavailable
    • nullMessage

      @NotNull public @NotNull CommandMessage nullMessage()
      Gets null argument message
      Returns:
      argument message
    • builder

      @NotNull public static <R> @NotNull ClassSerializer.Builder<R> builder(@NotNull @NotNull BiFunction<BetterCommandSource,String,R> function)
      Creates builder class of ClassSerializer
      Type Parameters:
      R - target class type
      Parameters:
      function - deserializer
      Returns:
      builder