class CoordinatesValidator extends AbstractComplianceChecker {

    @Override
    public IPolicyEvaluation evaluate(Collection<Artifact> artifacts) {
        DefaultPolicyEvaluation policyEvaluation = new DefaultPolicyEvaluation();
        artifacts.stream()
                .filter(artifact -> ! artifact.getFlag(Artifact.IS_PROPRIETARY_FLAG_KEY))
                .filter(artifact -> artifact.askForAll(ArtifactCoordinates.class).size() == 0)
                .forEach(artifact -> policyEvaluation.addEvaluationResult("CoordinatesValidator::rule1", "Artifact has no Coordinates", missingCoordinatesSeverity, artifact));
        return policyEvaluation;
    }

    public  CoordinatesValidator();

}