All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.exasol.errorcodecrawlermavenplugin.validation.AbstractIndependentErrorMessageDeclarationValidator Maven / Gradle / Ivy

package com.exasol.errorcodecrawlermavenplugin.validation;

import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

import com.exasol.errorcodecrawlermavenplugin.Finding;
import com.exsol.errorcodemodel.ErrorMessageDeclaration;

/**
 * Abstract basis for {@link ErrorMessageDeclarationValidator}s that validate each {@link ErrorMessageDeclaration}
 * independent of the others.
 */
abstract class AbstractIndependentErrorMessageDeclarationValidator implements ErrorMessageDeclarationValidator {
    @Override
    public final List validate(final Collection errorMessageDeclarations) {
        return errorMessageDeclarations.stream()//
                .flatMap(this::validateSingleErrorMessageDeclaration)//
                .collect(Collectors.toList());
    }

    /**
     * Validate a single {@link ErrorMessageDeclaration}.
     * 
     * @param errorMessageDeclaration {@link ErrorMessageDeclaration} to validate
     * @return validation findings
     */
    protected abstract Stream validateSingleErrorMessageDeclaration(
            final ErrorMessageDeclaration errorMessageDeclaration);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy