diff --git a/src/main/java/javax/validation/Constraint.java b/src/main/java/javax/validation/Constraint.java index 860ee0b8..c6f0eb40 100644 --- a/src/main/java/javax/validation/Constraint.java +++ b/src/main/java/javax/validation/Constraint.java @@ -23,7 +23,6 @@ import static java.lang.annotation.ElementType.ANNOTATION_TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; - /** * Link between a constraint annotation and its constraint validation implementations. *

@@ -40,10 +39,10 @@ public @interface Constraint { /** * {@code ConstraintValidator} classes must reference distinct target types. - * If two {@code ConstraintValidator} refer to the same type, + * If two {@code ConstraintValidator}s refer to the same type, * an exception will occur. * * @return array of ConstraintValidator classes implementing the constraint */ - public Class>[] validatedBy(); + Class>[] validatedBy(); } diff --git a/src/main/java/javax/validation/CrossParameterConstraint.java b/src/main/java/javax/validation/CrossParameterConstraint.java new file mode 100644 index 00000000..98833dd6 --- /dev/null +++ b/src/main/java/javax/validation/CrossParameterConstraint.java @@ -0,0 +1,44 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat, Inc. and/or its affiliates, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package javax.validation; + +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.ANNOTATION_TYPE; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +/** + * Link between a cross-parameter constraint annotation and its constraint + * validation implementation. + * + * @author Gunnar Morling + */ +@Documented +@Target({ ANNOTATION_TYPE }) +@Retention(RUNTIME) +public @interface CrossParameterConstraint { + /** + * Returns the {@link ConstraintValidator} class for the annotated + * cross-parameter constraint. The validator's type parameter {@code T} must + * resolve to {@code Object[]}. + * + * @return Constraint validator class implementing the constraint + */ + Class> validatedBy(); +}