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
    All Superinterfaces:
    ComponentEncoder<I,​R>

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

      • 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(inVersion="5.0.0")
        @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.
        Specified by:
        serialize in interface ComponentEncoder<I extends Component,​O extends Component>
        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.

        Specified by:
        serializeOrNull in interface ComponentEncoder<I extends Component,​O extends Component>
        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.

        Specified by:
        serializeOr in interface ComponentEncoder<I extends Component,​O extends Component>
        Parameters:
        component - the component
        fallback - the fallback value
        Returns:
        the output if component is non-null, otherwise fallback
        Since:
        4.7.0