Package org.citrusframework.validation
Interface MessageValidator<T extends ValidationContext>
- All Known Implementing Classes:
AbstractMessageValidator,DefaultEmptyMessageValidator,DefaultMessageValidator,DefaultTextEqualsMessageValidator
public interface MessageValidator<T extends ValidationContext>
Message validator interface. Message validation need specific information like
control messages or validation scripts. These validation specific information is
stored in a validation context, which is passed to the validation method.
- Author:
- Christoph Deppisch
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.slf4j.LoggerLoggerstatic final StringMessage validator resource lookup pathstatic final TypeResolverType resolver to find custom message validators on classpath via resource path lookup -
Method Summary
Modifier and TypeMethodDescriptionstatic Map<String,MessageValidator<? extends ValidationContext>> lookup()Resolves all available validators from resource path lookup.static Optional<MessageValidator<? extends ValidationContext>>Resolves validator from resource path lookup with given validator resource name.booleansupportsMessageType(String messageType, Message message) Checks if this message validator is capable of this message type.voidvalidateMessage(Message receivedMessage, Message controlMessage, TestContext context, List<ValidationContext> validationContexts) Validates a message with given test context and validation context.
-
Field Details
-
logger
static final org.slf4j.Logger loggerLogger -
RESOURCE_PATH
Message validator resource lookup path- See Also:
-
TYPE_RESOLVER
Type resolver to find custom message validators on classpath via resource path lookup
-
-
Method Details
-
lookup
Resolves all available validators from resource path lookup. Scans classpath for validator meta information and instantiates those validators.- Returns:
-
lookup
Resolves validator from resource path lookup with given validator resource name. Scans classpath for validator meta information with given name and returns instance of validator. Returns optional instead of throwing exception when no validator could be found.- Parameters:
validator-- Returns:
-
validateMessage
void validateMessage(Message receivedMessage, Message controlMessage, TestContext context, List<ValidationContext> validationContexts) throws ValidationException Validates a message with given test context and validation context.- Parameters:
receivedMessage- the message to validate.controlMessage- the expected control message.context- the current test context.validationContexts- list of available validation contexts.- Throws:
ValidationException
-
supportsMessageType
Checks if this message validator is capable of this message type. XML message validators may only apply to this message type while JSON message validator implementations do not and vice versa. This check is called by theMessageValidatorRegistryin order to find a proper message validator for a message.- Parameters:
messageType- the message type representation as String (e.g. xml, json, csv, plaintext).message- the message object- Returns:
- true if this message validator is capable of validating the message type.
-