Interface MessageValidator<T extends ValidationContext>

    • Field Detail

      • LOG

        static final org.slf4j.Logger LOG
        Logger
      • 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 the MessageValidatorRegistry in 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.