Class MessageFieldGenerator.Conditional<M extends net.morimekta.providence.PMessage<M>,​MB extends net.morimekta.providence.PMessageOrBuilder<M>,​C extends GeneratorContext<C>,​T>

  • Type Parameters:
    M - The message type.
    MB - The message or builder interface.
    C - The context implementation type.
    T - The value type.
    All Implemented Interfaces:
    MessageFieldGenerator<M,​MB,​C,​T>
    Enclosing interface:
    MessageFieldGenerator<M extends net.morimekta.providence.PMessage<M>,​MB extends net.morimekta.providence.PMessageOrBuilder<M>,​C extends GeneratorContext<C>,​T>

    public static class MessageFieldGenerator.Conditional<M extends net.morimekta.providence.PMessage<M>,​MB extends net.morimekta.providence.PMessageOrBuilder<M>,​C extends GeneratorContext<C>,​T>
    extends java.lang.Object
    implements MessageFieldGenerator<M,​MB,​C,​T>
    Conditional field value generator.
    • Constructor Detail

      • Conditional

        public Conditional​(@Nonnull
                           java.util.function.Predicate<MB> predicate,
                           @Nonnull
                           MessageFieldGenerator<M,​MB,​C,​T> generator)
    • Method Detail

      • generate

        public T generate​(MB message,
                          C context)
        Specified by:
        generate in interface MessageFieldGenerator<M extends net.morimekta.providence.PMessage<M>,​MB extends net.morimekta.providence.PMessageOrBuilder<M>,​C extends GeneratorContext<C>,​T>
        Parameters:
        message - The message (intermediate) this field is built for.
        context - The generator to use for internal values.
        Returns:
        The generated value.