Class MessageValidator<M extends PMessage<M>,​E extends java.lang.Exception>

  • Type Parameters:
    M - The message type to be validated.
    E - The exception to be thrown on validation failure.

    public class MessageValidator<M extends PMessage<M>,​E extends java.lang.Exception>
    extends java.lang.Object
    Class that handles validation of the structure or content of a message type. This this can do much more fine grained validation than just assigning required fields.
    • Method Detail

      • validate

        public void validate​(PMessageOrBuilder<M> message)
                      throws E extends java.lang.Exception
        Validate a message using the built expectations.
        Parameters:
        message - The message to be validated.
        Throws:
        E - On not valid message.
        E extends java.lang.Exception
      • isValid

        public boolean isValid​(PMessageOrBuilder<M> message)
        Just see if the message is valid or not. Does not
        Parameters:
        message - The message to be validated.
        Returns:
        True if the message is valid, false otherwise.
      • collectValidationErrors

        public void collectValidationErrors​(PMessageOrBuilder<M> message,
                                            java.util.function.Consumer<java.lang.String> messageConsumer)
        Just see if the message is valid or not. Does not
        Parameters:
        message - The message to be validated.
        messageConsumer - Consumer of validation errors on the message.
      • builder

        public static <M extends PMessage<M>,​E extends java.lang.Exception> MessageValidator.Builder<M,​E> builder​(@Nonnull
                                                                                                                              PMessageDescriptor<M> descriptor,
                                                                                                                              @Nonnull
                                                                                                                              java.util.function.Function<java.lang.String,​E> onMismatch)
        Create a message validator that throws specific exception on failure.
        Type Parameters:
        M - Message type.
        E - Exception type.
        Parameters:
        descriptor - The message type descriptor to be validated.
        onMismatch - Function producer for thrown exceptions.
        Returns:
        The message validator builder.