Interface ComponentSerializer<I extends Component,​O extends Component,​R>

Type Parameters:
I - the input component type
O - the output component type
R - the serialized type

public interface ComponentSerializer<I extends Component,​O extends Component,​R>
A Component serializer and deserializer.
Since:
4.0.0
  • Method Summary

    Modifier and Type Method Description
    default O deseializeOrNull​(R input)
    Deprecated.
    for removal since 4.8.0, use deserializeOrNull(Object) instead.
    O deserialize​(R input)
    Deserialize a component from input of type R.
    default O deserializeOr​(R input, O fallback)
    Deserialize a component from input of type R.
    default O deserializeOrNull​(R input)
    Deserialize a component from input of type R.
    R serialize​(I component)
    Serializes a component into an output of type R.
    default R serializeOr​(I component, R fallback)
    Serializes a component into an output of type R.
    default R serializeOrNull​(I component)
    Serializes a component into an output of type R.
  • Method Details

    • deserialize

      @NotNull O deserialize​(@NotNull R input)
      Deserialize a component from input of type R.
      Parameters:
      input - the input
      Returns:
      the component
      Since:
      4.0.0
    • deseializeOrNull

      @ScheduledForRemoval @Contract(value="!null -> !null; null -> null", pure=true) @Deprecated @Nullable default O deseializeOrNull​(@Nullable R input)
      Deprecated.
      for removal since 4.8.0, use deserializeOrNull(Object) instead.
      Deserialize a component from input of type R.

      If input is null, then null will be returned.

      Parameters:
      input - the input
      Returns:
      the component if input is non-null, otherwise null
      Since:
      4.7.0
    • deserializeOrNull

      @Contract(value="!null -> !null; null -> null", pure=true) @Nullable default O deserializeOrNull​(@Nullable R input)
      Deserialize a component from input of type R.

      If input is null, then null will be returned.

      Parameters:
      input - the input
      Returns:
      the component if input is non-null, otherwise null
      Since:
      4.8.0
    • deserializeOr

      @Contract(value="!null, _ -> !null; null, _ -> param2", pure=true) @Nullable default O deserializeOr​(@Nullable R input, @Nullable O fallback)
      Deserialize a component from input of type R.

      If input is null, then fallback will be returned.

      Parameters:
      input - the input
      fallback - the fallback value
      Returns:
      the component if input is non-null, otherwise fallback
      Since:
      4.7.0
    • serialize

      @NotNull R serialize​(@NotNull I component)
      Serializes a component into an output of type R.
      Parameters:
      component - the component
      Returns:
      the output
      Since:
      4.0.0
    • serializeOrNull

      @Contract(value="!null -> !null; null -> null", pure=true) @Nullable default R serializeOrNull​(@Nullable I component)
      Serializes a component into an output of type R.

      If component is null, then null will be returned.

      Parameters:
      component - the component
      Returns:
      the output if component is non-null, otherwise null
      Since:
      4.7.0
    • serializeOr

      @Contract(value="!null, _ -> !null; null, _ -> param2", pure=true) @Nullable default R serializeOr​(@Nullable I component, @Nullable R fallback)
      Serializes a component into an output of type R.

      If component is null, then fallback will be returned.

      Parameters:
      component - the component
      fallback - the fallback value
      Returns:
      the output if component is non-null, otherwise fallback
      Since:
      4.7.0