Interface ComponentFlattener.Builder

All Superinterfaces:
AbstractBuilder<ComponentFlattener>, Buildable.Builder<ComponentFlattener>
Enclosing interface:
ComponentFlattener

public static interface ComponentFlattener.Builder extends AbstractBuilder<ComponentFlattener>, Buildable.Builder<ComponentFlattener>
A builder for a component flattener.

A new builder will start out empty, providing empty strings for all component types.

Since:
4.7.0
  • Method Details

    • mapper

      @NotNull <T extends Component> @NotNull ComponentFlattener.Builder mapper(@NotNull @NotNull Class<T> type, @NotNull @NotNull Function<T,String> converter)
      Register a type of component to be handled.
      Type Parameters:
      T - component type
      Parameters:
      type - the component type
      converter - the converter to map that component to a string
      Returns:
      this builder
      Since:
      4.7.0
      See Also:
    • complexMapper

      @NotNull <T extends Component> @NotNull ComponentFlattener.Builder complexMapper(@NotNull @NotNull Class<T> type, @NotNull @NotNull BiConsumer<T,Consumer<Component>> converter)
      Register a type of component that needs to be flattened to an intermediate stage.
      Type Parameters:
      T - component type
      Parameters:
      type - the component type
      converter - a provider of contained Components
      Returns:
      this builder
      Since:
      4.7.0
    • unknownMapper

      @NotNull @NotNull ComponentFlattener.Builder unknownMapper(@Nullable @Nullable Function<Component,String> converter)
      Register a handler for unknown component types.

      This will be called if no other converter can be found.

      Parameters:
      converter - the converter, may be null to ignore unknown components
      Returns:
      this builder
      Since:
      4.7.0