Package com.consol.citrus.validation
Interface MessageValidator<T extends ValidationContext>
-
- All Known Implementing Classes:
AbstractMessageValidator,DefaultEmptyMessageValidator,DefaultMessageValidator
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
Fields Modifier and Type Field Description static org.slf4j.LoggerLOGLoggerstatic StringRESOURCE_PATHMessage validator resource lookup pathstatic TypeResolverTYPE_RESOLVERType resolver to find custom message validators on classpath via resource path lookup
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static Map<String,MessageValidator<? extends ValidationContext>>lookup()Resolves all available validators from resource path lookup.static Optional<MessageValidator<? extends ValidationContext>>lookup(String validator)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 Detail
-
LOG
static final org.slf4j.Logger LOG
Logger
-
RESOURCE_PATH
static final String RESOURCE_PATH
Message validator resource lookup path- See Also:
- Constant Field Values
-
TYPE_RESOLVER
static final TypeResolver TYPE_RESOLVER
Type resolver to find custom message validators on classpath via resource path lookup
-
-
Method Detail
-
lookup
static Map<String,MessageValidator<? extends ValidationContext>> lookup()
Resolves all available validators from resource path lookup. Scans classpath for validator meta information and instantiates those validators.- Returns:
-
lookup
static Optional<MessageValidator<? extends ValidationContext>> lookup(String validator)
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
boolean supportsMessageType(String messageType, Message message)
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.
-
-