/* * Hibernate Validator, declare and validate application constraints * * License: Apache License, Version 2.0 * See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>. */ package org.hibernate.validator.ap.checks.annotationparameters; import java.util.Collections; import java.util.Set; import javax.lang.model.element.AnnotationMirror; import javax.lang.model.element.Element; import org.hibernate.validator.ap.checks.ConstraintCheckIssue; import org.hibernate.validator.ap.util.AnnotationApiHelper; import org.hibernate.validator.ap.util.CollectionHelper; import org.hibernate.validator.ap.util.TypeNames; /** * Checks that the parameters used on {@code org.hibernate.validator.constraints.ScriptAssert} annotations are valid. * * @author Marko Bekhta */ public class AnnotationParametersScriptAssertCheck extends AnnotationParametersAbstractCheck { public AnnotationParametersScriptAssertCheck(AnnotationApiHelper annotationApiHelper) { super( annotationApiHelper, TypeNames.HibernateValidatorTypes.SCRIPT_ASSERT ); } @Override protected Set<ConstraintCheckIssue> doCheck(Element element, AnnotationMirror annotation) { String lang = (String) annotationApiHelper.getAnnotationValue( annotation, "lang" ).getValue(); String script = (String) annotationApiHelper.getAnnotationValue( annotation, "script" ).getValue(); String alias = annotationApiHelper.getAnnotationValue( annotation, "alias" ) != null ? (String) annotationApiHelper.getAnnotationValue( annotation, "alias" ).getValue() : "_this"; if ( ( lang.trim().length() == 0 ) || ( script.trim().length() == 0 ) || ( alias.trim().length() == 0 ) ) { return CollectionHelper.asSet( ConstraintCheckIssue.error( element, annotation, "INVALID_SCRIPT_ASSERT_ANNOTATION_PARAMETERS" ) ); } return Collections.emptySet(); } }