Package net.morimekta.providence.util
Class MessageValidator<M extends PMessage<M>,E extends java.lang.Exception>
- java.lang.Object
-
- net.morimekta.providence.util.MessageValidator<M,E>
-
- 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MessageValidator.Builder<M extends PMessage<M>,E extends java.lang.Exception>
Builder vlass for message validators.static interface
MessageValidator.Validation<M extends PMessage<M>,E extends java.lang.Exception>
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <M extends PMessage<M>,E extends java.lang.Exception>
MessageValidator.Builder<M,E>builder(PMessageDescriptor<M> descriptor, java.util.function.Function<java.lang.String,E> onMismatch)
Create a message validator that throws specific exception on failure.void
collectValidationErrors(PMessageOrBuilder<M> message, java.util.function.Consumer<java.lang.String> messageConsumer)
Just see if the message is valid or not.boolean
isValid(PMessageOrBuilder<M> message)
Just see if the message is valid or not.void
validate(PMessageOrBuilder<M> message)
Validate a message using the built expectations.
-
-
-
Method Detail
-
validate
public void validate(PMessageOrBuilder<M> message) throws E extends java.lang.Exception
Validate a message using the built expectations.
-
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.
-
-