Class AbstractCompositeCustomizer<C,R>

java.lang.Object
io.micronaut.http.netty.AbstractCompositeCustomizer<C,R>
Type Parameters:
C - The actual customizer class. Must also be implemented by the AbstractCompositeCustomizer subclass.
R - The ChannelRole type.

@Internal public abstract class AbstractCompositeCustomizer<C,R> extends Object
Base class for the composite customizers for the client and server. The APIs are structured quite similarly, but it doesn't make sense to merge them because writing generic code for them does not make sense, so this class exists to at least merge the composition behavior (ordering and such).
  • Constructor Details

    • AbstractCompositeCustomizer

      protected AbstractCompositeCustomizer(List<C> members)
    • AbstractCompositeCustomizer

      protected AbstractCompositeCustomizer()
  • Method Details

    • add

      public void add(C customizer)
      Add customizer.
      Parameters:
      customizer - Customizer
    • specializeForChannel

      protected abstract C specializeForChannel(C member, io.netty.channel.Channel channel, R role)
    • makeNewComposite

      protected abstract C makeNewComposite(List<C> members)
    • specializeForChannel

      @NonNull public final C specializeForChannel(@NonNull @NonNull io.netty.channel.Channel channel, @NonNull R role)
    • specialize

      protected final C specialize(UnaryOperator<C> specializeAction)
      Specialize all members with the given action.
      Parameters:
      specializeAction - The specialization action. Input is the old member customizer, output is the new member customizer.
      Returns:
      The specialized composite customizer
    • forEach

      protected final void forEach(Consumer<C> consumer)