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.ObjectClass 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 classMessageValidator.Builder<M extends PMessage<M>,E extends java.lang.Exception>Builder vlass for message validators.static interfaceMessageValidator.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.voidvalidate(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.
-
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.
-
-