You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jo...@apache.org on 2017/09/04 21:01:50 UTC
svn commit: r1807299 [1/2] - in
/geronimo/specs/trunk/geronimo-validation_2.0_spec: ./
src/main/java/javax/validation/ src/main/java/javax/validation/bootstrap/
src/main/java/javax/validation/constraints/
src/main/java/javax/validation/executable/ src/...
Author: johndament
Date: Mon Sep 4 21:01:48 2017
New Revision: 1807299
URL: http://svn.apache.org/viewvc?rev=1807299&view=rev
Log:
GERONIMO-6581 Bean Validation 2.0 API
Based on patch from mbenson
Added:
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ClockProvider.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/NoProviderFoundException.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Email.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/FutureOrPresent.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Negative.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/NegativeOrZero.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/NotBlank.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/NotEmpty.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/PastOrPresent.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Positive.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/PositiveOrZero.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/metadata/ContainerDescriptor.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/metadata/ContainerElementTypeDescriptor.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/metadata/ValidateUnwrappedValue.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/valueextraction/
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/valueextraction/ExtractedValue.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/valueextraction/UnwrapByDefault.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/valueextraction/Unwrapping.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/valueextraction/ValueExtractor.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/valueextraction/ValueExtractorDeclarationException.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/valueextraction/ValueExtractorDefinitionException.java
Modified:
geronimo/specs/trunk/geronimo-validation_2.0_spec/NOTICE
geronimo/specs/trunk/geronimo-validation_2.0_spec/pom.xml
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/BootstrapConfiguration.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Configuration.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Constraint.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintDeclarationException.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintDefinitionException.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidator.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidatorContext.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidatorFactory.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintViolation.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintViolationException.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ElementKind.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/GroupDefinitionException.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/GroupSequence.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/MessageInterpolator.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/OverridesAttribute.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Path.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Payload.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ReportAsSingleViolation.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/TraversableResolver.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/UnexpectedTypeException.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Valid.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Validation.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidationException.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidationProviderResolver.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Validator.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidatorContext.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidatorFactory.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/bootstrap/GenericBootstrap.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/bootstrap/ProviderSpecificBootstrap.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/AssertFalse.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/AssertTrue.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/DecimalMax.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/DecimalMin.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Digits.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Future.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Max.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Min.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/NotNull.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Null.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Past.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Pattern.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Size.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/executable/ExecutableType.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/executable/ExecutableValidator.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/executable/ValidateOnExecution.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/groups/ConvertGroup.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/groups/Default.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/metadata/BeanDescriptor.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/metadata/ConstraintDescriptor.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/metadata/ExecutableDescriptor.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/metadata/ParameterDescriptor.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/metadata/PropertyDescriptor.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/metadata/ReturnValueDescriptor.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/metadata/Scope.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/spi/BootstrapState.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/spi/ConfigurationState.java
geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/spi/ValidationProvider.java
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/NOTICE
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/NOTICE?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/NOTICE (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/NOTICE Mon Sep 4 21:01:48 2017
@@ -1,5 +1,5 @@
-Apache Geronimo JSR-349 Bean Validation Spec API
-Copyright 2009-2016 The Apache Software Foundation
+Apache Geronimo JSR-380 Bean Validation Spec API
+Copyright 2009-2017 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/pom.xml?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/pom.xml (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/pom.xml Mon Sep 4 21:01:48 2017
@@ -20,22 +20,23 @@
<!-- $Rev: 759182 $ $Date: 2009-03-27 11:48:31 -0400 (Fri, 27 Mar 2009) $ -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.geronimo.genesis</groupId>
- <artifactId>genesis-java6-flava</artifactId>
- <version>2.2</version>
+ <artifactId>genesis-java8-flava</artifactId>
+ <version>2.3</version>
</parent>
<groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-validation_1.1_spec</artifactId>
- <version>1.1-SNAPSHOT</version>
+ <artifactId>geronimo-validation_2.0_spec</artifactId>
+ <version>1.0-SNAPSHOT</version>
<packaging>bundle</packaging>
- <name>Apache Geronimo Bean Validation Spec 1.1</name>
- <description>Apache Geronimo implementation of the JSR-349 Bean Validation Spec API</description>
+ <name>Apache Geronimo Bean Validation Spec 2.0</name>
+ <description>Apache Geronimo implementation of the JSR-380 Bean Validation Spec API</description>
<url>http://geronimo.apache.org/maven/${siteId}/${project.version}</url>
<distributionManagement>
@@ -50,8 +51,11 @@
</properties>
<scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-validation_1.1_spec/</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-validation_1.1_spec/</developerConnection>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-validation_1.1_spec/
+ </connection>
+ <developerConnection>
+ scm:svn:https://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-validation_1.1_spec/
+ </developerConnection>
<url>http://svn.apache.org/viewcvs.cgi/geronimo/specs/trunk/geronimo-validation_1.1_spec/</url>
</scm>
@@ -80,7 +84,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
- <version>1.7</version>
<executions>
<execution>
<id>delete-DEPENDENCIES</id>
@@ -90,7 +93,7 @@
</goals>
<configuration>
<target>
- <delete dir="${project.build.directory}" includes="**/DEPENDENCIES" />
+ <delete dir="${project.build.directory}" includes="**/DEPENDENCIES"/>
</target>
</configuration>
</execution>
@@ -99,17 +102,18 @@
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
- <version>2.0.1</version>
<configuration>
<instructions>
- <Bundle-SymbolicName>${project.groupId}.${project.artifactId};singleton=true</Bundle-SymbolicName>
- <Specification-Title>JSR-349 Bean Validation API</Specification-Title>
+ <Bundle-SymbolicName>${project.groupId}.${project.artifactId};singleton=true
+ </Bundle-SymbolicName>
+ <Specification-Title>JSR-380 Bean Validation API</Specification-Title>
<Specification-Vendor>Sun Microsystems, Inc.</Specification-Vendor>
- <Specification-Version>1.1</Specification-Version>
- <Export-Package>javax.validation*;version=1.1</Export-Package>
+ <Specification-Version>2.0</Specification-Version>
+ <Export-Package>javax.validation*;version=2.0</Export-Package>
<Import-Package>org.apache.geronimo.osgi.registry.api;resolution:=optional,*</Import-Package>
<Private-Package>org.apache.geronimo.osgi.locator</Private-Package>
<Bundle-Activator>org.apache.geronimo.osgi.locator.Activator</Bundle-Activator>
+ <Automatic-Module-Name>java.validation</Automatic-Module-Name>
</instructions>
</configuration>
</plugin>
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/BootstrapConfiguration.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/BootstrapConfiguration.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/BootstrapConfiguration.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/BootstrapConfiguration.java Mon Sep 4 21:01:48 2017
@@ -31,4 +31,10 @@ public interface BootstrapConfiguration
boolean isExecutableValidationEnabled();
Set<ExecutableType> getDefaultValidatedExecutableTypes();
Map<String, String> getProperties();
+
+ /** @since 2.0 */
+ String getClockProviderClassName();
+
+ /** @since 2.0 */
+ Set<String> getValueExtractorClassNames();
}
Added: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ClockProvider.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ClockProvider.java?rev=1807299&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ClockProvider.java (added)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ClockProvider.java Mon Sep 4 21:01:48 2017
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to you 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.time.Clock;
+
+/**
+ * @since 2.0
+ */
+public interface ClockProvider {
+
+ Clock getClock();
+}
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Configuration.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Configuration.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Configuration.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Configuration.java Mon Sep 4 21:01:48 2017
@@ -18,6 +18,8 @@ package javax.validation;
import java.io.InputStream;
+import javax.validation.valueextraction.ValueExtractor;
+
/**
* @version $Rev$ $Date$
*/
@@ -43,11 +45,21 @@ public interface Configuration<T extends
ValidatorFactory buildValidatorFactory();
- // @since 1.1
-
+ /** @since 1.1 */
T parameterNameProvider(ParameterNameProvider parameterNameProvider);
+
+ /** @since 1.1 */
ParameterNameProvider getDefaultParameterNameProvider();
+ /** @since 1.1 */
BootstrapConfiguration getBootstrapConfiguration();
-}
+ /** @since 2.0 */
+ T clockProvider(ClockProvider clockProvider);
+
+ /** @since 2.0 */
+ T addValueExtractor(ValueExtractor<?> extractor);
+
+ /** @since 2.0 */
+ ClockProvider getDefaultClockProvider();
+}
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Constraint.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Constraint.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Constraint.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Constraint.java Mon Sep 4 21:01:48 2017
@@ -50,4 +50,3 @@ public @interface Constraint {
*/
Class<? extends ConstraintValidator<?,?>>[] validatedBy();
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintDeclarationException.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintDeclarationException.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintDeclarationException.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintDeclarationException.java Mon Sep 4 21:01:48 2017
@@ -19,7 +19,9 @@ package javax.validation;
/**
* @version $Rev$ $Date$
*/
+@SuppressWarnings("serial")
public class ConstraintDeclarationException extends ValidationException {
+
public ConstraintDeclarationException(String message) {
super(message);
}
@@ -36,4 +38,3 @@ public class ConstraintDeclarationExcept
super(cause);
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintDefinitionException.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintDefinitionException.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintDefinitionException.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintDefinitionException.java Mon Sep 4 21:01:48 2017
@@ -19,7 +19,9 @@ package javax.validation;
/**
* @version $Rev$ $Date$
*/
+@SuppressWarnings("serial")
public class ConstraintDefinitionException extends ValidationException {
+
public ConstraintDefinitionException(String message) {
super(message);
}
@@ -36,4 +38,3 @@ public class ConstraintDefinitionExcepti
super(cause);
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidator.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidator.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidator.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidator.java Mon Sep 4 21:01:48 2017
@@ -22,8 +22,8 @@ import java.lang.annotation.Annotation;
* @version $Rev$ $Date$
*/
public interface ConstraintValidator<A extends Annotation, T> {
- void initialize(A constraintAnnotation);
+ default void initialize(A constraintAnnotation) {
+ }
boolean isValid(T value, ConstraintValidatorContext context);
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidatorContext.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidatorContext.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidatorContext.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidatorContext.java Mon Sep 4 21:01:48 2017
@@ -26,29 +26,57 @@ public interface ConstraintValidatorCont
ConstraintViolationBuilder buildConstraintViolationWithTemplate(String messageTemplate);
+ /** @since 2.0 */
+ ClockProvider getClockProvider();
+
/** @since 1.1 */
<T> T unwrap(Class<T> type);
interface ConstraintViolationBuilder {
+ /**
+ * @deprecated since 1.1
+ * @see #addBeanNode()
+ * @see #addPropertyNode(String)
+ * @see #addParameterNode(int)
+ */
+ @Deprecated
NodeBuilderDefinedContext addNode(String name);
ConstraintValidatorContext addConstraintViolation();
- // @since 1.1
-
+ /** @since 1.1 */
NodeBuilderCustomizableContext addPropertyNode(String name);
+
+ /** @since 1.1 */
LeafNodeBuilderCustomizableContext addBeanNode();
+
+ /** @since 1.1 */
NodeBuilderDefinedContext addParameterNode(int index);
+ /** @since 2.0 */
+ ContainerElementNodeBuilderCustomizableContext addContainerElementNode(String name, Class<?> containerType,
+ Integer typeArgumentIndex);
+
interface NodeBuilderDefinedContext {
+ /**
+ * @deprecated since 1.1
+ * @see #addPropertyNode(String)
+ * @see #addBeanNode()
+ */
+ @Deprecated
NodeBuilderCustomizableContext addNode(String name);
ConstraintValidatorContext addConstraintViolation();
- // @since 1.1
-
+ /** @since 1.1 */
NodeBuilderCustomizableContext addPropertyNode(String name);
+
+ /** @since 1.1 */
LeafNodeBuilderCustomizableContext addBeanNode();
+
+ /** @since 2.0 */
+ ContainerElementNodeBuilderCustomizableContext addContainerElementNode(String name, Class<?> containerType,
+ Integer typeArgumentIndex);
}
interface NodeBuilderCustomizableContext {
@@ -59,10 +87,18 @@ public interface ConstraintValidatorCont
ConstraintValidatorContext addConstraintViolation();
- // @since 1.1
-
+ /** @since 1.1 */
NodeBuilderCustomizableContext addPropertyNode(String name);
+
+ /** @since 1.1 */
LeafNodeBuilderCustomizableContext addBeanNode();
+
+ /** @since 2.0 */
+ NodeBuilderCustomizableContext inContainer(Class<?> containerClass, Integer typeArgumentIndex);
+
+ /** @since 2.0 */
+ ContainerElementNodeBuilderCustomizableContext addContainerElementNode(String name, Class<?> containerType,
+ Integer typeArgumentIndex);
}
interface NodeContextBuilder {
@@ -75,10 +111,15 @@ public interface ConstraintValidatorCont
ConstraintValidatorContext addConstraintViolation();
- // @since 1.1
-
+ /** @since 1.1 */
NodeBuilderCustomizableContext addPropertyNode(String name);
+
+ /** @since 1.1 */
LeafNodeBuilderCustomizableContext addBeanNode();
+
+ /** @since 2.0 */
+ ContainerElementNodeBuilderCustomizableContext addContainerElementNode(String name, Class<?> containerType,
+ Integer typeArgumentIndex);
}
/** @since 1.1 */
@@ -90,6 +131,9 @@ public interface ConstraintValidatorCont
interface LeafNodeBuilderCustomizableContext {
LeafNodeContextBuilder inIterable();
ConstraintValidatorContext addConstraintViolation();
+
+ /** @since 2.0 */
+ LeafNodeBuilderCustomizableContext inContainer(Class<?> containerClass, Integer typeArgumentIndex);
}
/** @since 1.1 */
@@ -98,6 +142,35 @@ public interface ConstraintValidatorCont
LeafNodeBuilderDefinedContext atIndex(Integer index);
ConstraintValidatorContext addConstraintViolation();
}
+
+ /** @since 2.0 */
+ interface ContainerElementNodeBuilderDefinedContext {
+ NodeBuilderCustomizableContext addPropertyNode(String name);
+ LeafNodeBuilderCustomizableContext addBeanNode();
+ ContainerElementNodeBuilderCustomizableContext addContainerElementNode(String name, Class<?> containerType,
+ Integer typeArgumentIndex);
+ ConstraintValidatorContext addConstraintViolation();
+ }
+
+ /** @since 2.0 */
+ interface ContainerElementNodeBuilderCustomizableContext {
+ ContainerElementNodeContextBuilder inIterable();
+ NodeBuilderCustomizableContext addPropertyNode(String name);
+ LeafNodeBuilderCustomizableContext addBeanNode();
+ ContainerElementNodeBuilderCustomizableContext addContainerElementNode(String name, Class<?> containerType,
+ Integer typeArgumentIndex);
+ ConstraintValidatorContext addConstraintViolation();
+ }
+
+ /** @since 2.0 */
+ interface ContainerElementNodeContextBuilder {
+ ContainerElementNodeBuilderDefinedContext atKey(Object key);
+ ContainerElementNodeBuilderDefinedContext atIndex(Integer index);
+ NodeBuilderCustomizableContext addPropertyNode(String name);
+ LeafNodeBuilderCustomizableContext addBeanNode();
+ ContainerElementNodeBuilderCustomizableContext addContainerElementNode(String name, Class<?> containerType,
+ Integer typeArgumentIndex);
+ ConstraintValidatorContext addConstraintViolation();
+ }
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidatorFactory.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidatorFactory.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidatorFactory.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintValidatorFactory.java Mon Sep 4 21:01:48 2017
@@ -26,4 +26,3 @@ public interface ConstraintValidatorFact
/** @since 1.1 */
void releaseInstance(ConstraintValidator<?, ?> instance);
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintViolation.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintViolation.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintViolation.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintViolation.java Mon Sep 4 21:01:48 2017
@@ -45,4 +45,3 @@ public interface ConstraintViolation<T>
Object getExecutableReturnValue();
<U> U unwrap(Class<U> type);
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintViolationException.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintViolationException.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintViolationException.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ConstraintViolationException.java Mon Sep 4 21:01:48 2017
@@ -22,7 +22,9 @@ import java.util.Set;
/**
* @version $Rev$ $Date$
*/
+@SuppressWarnings("serial")
public class ConstraintViolationException extends ValidationException {
+
private final Set<ConstraintViolation<?>> constraintViolations;
public ConstraintViolationException(String message,
@@ -39,4 +41,3 @@ public class ConstraintViolationExceptio
return constraintViolations;
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ElementKind.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ElementKind.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ElementKind.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ElementKind.java Mon Sep 4 21:01:48 2017
@@ -18,5 +18,7 @@ package javax.validation;
/** @since 1.1 */
public enum ElementKind {
- BEAN, PROPERTY, METHOD, CONSTRUCTOR, PARAMETER, CROSS_PARAMETER, RETURN_VALUE
+ BEAN, PROPERTY, METHOD, CONSTRUCTOR, PARAMETER, CROSS_PARAMETER, RETURN_VALUE,
+ /** @since 2.0 */
+ CONTAINER_ELEMENT;
}
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/GroupDefinitionException.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/GroupDefinitionException.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/GroupDefinitionException.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/GroupDefinitionException.java Mon Sep 4 21:01:48 2017
@@ -19,7 +19,9 @@ package javax.validation;
/**
* @version $Rev$ $Date$
*/
+@SuppressWarnings("serial")
public class GroupDefinitionException extends ValidationException {
+
public GroupDefinitionException(String message) {
super(message);
}
@@ -36,4 +38,3 @@ public class GroupDefinitionException ex
super(cause);
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/GroupSequence.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/GroupSequence.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/GroupSequence.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/GroupSequence.java Mon Sep 4 21:01:48 2017
@@ -22,12 +22,14 @@ import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Documented;
+
/**
* @version $Rev$ $Date$
*/
@Target({ TYPE })
@Retention(RUNTIME)
+@Documented
public @interface GroupSequence {
Class<?>[] value();
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/MessageInterpolator.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/MessageInterpolator.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/MessageInterpolator.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/MessageInterpolator.java Mon Sep 4 21:01:48 2017
@@ -36,4 +36,3 @@ public interface MessageInterpolator {
<T> T unwrap(Class<T> type);
}
}
-
Added: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/NoProviderFoundException.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/NoProviderFoundException.java?rev=1807299&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/NoProviderFoundException.java (added)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/NoProviderFoundException.java Mon Sep 4 21:01:48 2017
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to you 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;
+
+/**
+ * @since 2.0
+ */
+@SuppressWarnings("serial")
+public class NoProviderFoundException extends ValidationException {
+
+ public NoProviderFoundException(String message) {
+ super(message);
+ }
+
+ public NoProviderFoundException() {
+ super();
+ }
+
+ public NoProviderFoundException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public NoProviderFoundException(Throwable cause) {
+ super(cause);
+ }
+}
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/OverridesAttribute.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/OverridesAttribute.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/OverridesAttribute.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/OverridesAttribute.java Mon Sep 4 21:01:48 2017
@@ -18,6 +18,7 @@ package javax.validation;
import java.lang.annotation.Annotation;
import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@@ -29,10 +30,12 @@ import static java.lang.annotation.Reten
*/
@Retention(RUNTIME)
@Target({ METHOD })
+@Documented
+@Repeatable(OverridesAttribute.List.class)
public @interface OverridesAttribute {
Class<? extends Annotation> constraint();
- String name();
+ String name() default "";
int constraintIndex() default -1;
@@ -43,4 +46,3 @@ public @interface OverridesAttribute {
OverridesAttribute[] value();
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Path.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Path.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Path.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Path.java Mon Sep 4 21:01:48 2017
@@ -23,6 +23,10 @@ import java.util.List;
*/
public interface Path extends Iterable<Path.Node> {
+ /** @since 2.0 */
+ @Override
+ String toString();
+
interface Node {
String getName();
@@ -32,37 +36,65 @@ public interface Path extends Iterable<P
Object getKey();
- // @since 1.1
-
+ /** @since 1.1 */
ElementKind getKind();
+ /** @since 1.1 */
<T extends Node> T as(Class<T> nodeType);
- }
- // @since 1.1
+ /** @since 2.0 */
+ @Override
+ String toString();
+ }
+ /** @since 1.1 */
interface MethodNode extends Node {
List<Class<?>> getParameterTypes();
}
+ /** @since 1.1 */
interface ConstructorNode extends Node {
List<Class<?>> getParameterTypes();
}
+ /** @since 1.1 */
interface ReturnValueNode extends Node {
}
+ /** @since 1.1 */
interface ParameterNode extends Node {
int getParameterIndex();
}
+ /** @since 1.1 */
interface CrossParameterNode extends Node {
}
+ /** @since 1.1 */
interface BeanNode extends Node {
+
+ /** @since 2.0 */
+ Class<?> getContainerClass();
+
+ /** @since 2.0 */
+ Integer getTypeArgumentIndex();
}
+ /** @since 1.1 */
interface PropertyNode extends Node {
+
+ /** @since 2.0 */
+ Class<?> getContainerClass();
+
+ /** @since 2.0 */
+ Integer getTypeArgumentIndex();
}
-}
+
+ /** @since 2.0 */
+ interface ContainerElementNode extends Node {
+ Class<?> getContainerClass();
+
+ Integer getTypeArgumentIndex();
+ }
+}
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Payload.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Payload.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Payload.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Payload.java Mon Sep 4 21:01:48 2017
@@ -26,4 +26,3 @@ package javax.validation;
*/
public interface Payload {
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ReportAsSingleViolation.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ReportAsSingleViolation.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ReportAsSingleViolation.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ReportAsSingleViolation.java Mon Sep 4 21:01:48 2017
@@ -22,11 +22,13 @@ import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Documented;
+
/**
* @version $Rev$ $Date$
*/
@Target({ ANNOTATION_TYPE })
@Retention(RUNTIME)
+@Documented
public @interface ReportAsSingleViolation {
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/TraversableResolver.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/TraversableResolver.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/TraversableResolver.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/TraversableResolver.java Mon Sep 4 21:01:48 2017
@@ -34,4 +34,3 @@ public interface TraversableResolver {
Path pathToTraversableObject,
ElementType elementType);
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/UnexpectedTypeException.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/UnexpectedTypeException.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/UnexpectedTypeException.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/UnexpectedTypeException.java Mon Sep 4 21:01:48 2017
@@ -21,7 +21,9 @@ package javax.validation;
*
* @version $Rev$ $Date$
*/
+@SuppressWarnings("serial")
public class UnexpectedTypeException extends ConstraintDeclarationException {
+
public UnexpectedTypeException(String message) {
super(message);
}
@@ -38,4 +40,3 @@ public class UnexpectedTypeException ext
super(cause);
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Valid.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Valid.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Valid.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Valid.java Mon Sep 4 21:01:48 2017
@@ -23,13 +23,13 @@ import static java.lang.annotation.Eleme
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* @version $Rev$ $Date$
*/
-@Target({ METHOD, FIELD, CONSTRUCTOR, PARAMETER })
+@Target({ METHOD, FIELD, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
public @interface Valid {
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Validation.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Validation.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Validation.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Validation.java Mon Sep 4 21:01:48 2017
@@ -47,7 +47,7 @@ public class Validation {
public static <T extends Configuration<T>, U extends ValidationProvider<T>>
ProviderSpecificBootstrap<T> byProvider(Class<U> providerType) {
- return new ProviderSpecificBootstrapImpl<T, U>(providerType);
+ return new ProviderSpecificBootstrapImpl<>(providerType);
}
/*
@@ -87,15 +87,17 @@ public class Validation {
* @see javax.validation.bootstrap.ProviderSpecificBootstrap#configure()
*/
public T configure() {
- if (providerClass == null)
+ if (providerClass == null) {
throw new ValidationException("No resolver provided");
+ }
// create a default resolver if not supplied by providerResolver()
GenericBootstrapImpl impl = new GenericBootstrapImpl();
- if ( vpResolver == null )
+ if ( vpResolver == null ) {
vpResolver = impl.getDefaultValidationProviderResolver();
- else
+ } else {
impl.providerResolver(vpResolver);
+ }
// check each provider discovered by the resolver
for (ValidationProvider<?> vProvider : vpResolver.getValidationProviders()) {
@@ -146,8 +148,9 @@ public class Validation {
* @see javax.validation.spi.BootstrapState#getDefaultValidationProviderResolver()
*/
public ValidationProviderResolver getDefaultValidationProviderResolver() {
- if (vpDefaultResolver == null)
+ if (vpDefaultResolver == null) {
vpDefaultResolver = new DefaultValidationProviderResolver();
+ }
return vpDefaultResolver;
}
@@ -159,8 +162,9 @@ public class Validation {
public Configuration<?> configure() {
ValidationProviderResolver resolv = vpResolver;
try {
- if (resolv == null)
+ if (resolv == null) {
resolv = getDefaultValidationProviderResolver();
+ }
return resolv.getValidationProviders().get(0).createGenericConfiguration(this);
} catch (Exception e) {
throw new ValidationException("Could not create Configuration.", e);
@@ -175,8 +179,7 @@ public class Validation {
*/
private static class DefaultValidationProviderResolver implements ValidationProviderResolver {
// cache of providers per class loader
- private volatile WeakHashMap<ClassLoader, List<ValidationProvider<?>>> providerCache =
- new WeakHashMap<ClassLoader, List<ValidationProvider<?>>>();
+ private volatile WeakHashMap<ClassLoader, List<ValidationProvider<?>>> providerCache = new WeakHashMap<>();
/*
* (non-Javadoc)
@@ -188,14 +191,15 @@ public class Validation {
// get our class loader
ClassLoader cl = PrivClassLoader.get(null);
- if (cl == null)
+ if (cl == null) {
cl = PrivClassLoader.get(DefaultValidationProviderResolver.class);
+ }
// use any previously cached providers
providers = providerCache.get(cl);
if (providers == null) {
// need to discover and load them for this class loader
- providers = new ArrayList<ValidationProvider<?>>();
+ providers = new ArrayList<>();
try {
List<Object> serviceProviders = ProviderLocator.getServices(ValidationProvider.class.getName(), this.getClass(), cl);
for (Object provider : serviceProviders) {
@@ -227,10 +231,10 @@ public class Validation {
public static ClassLoader get(Class<?> c) {
final PrivClassLoader action = new PrivClassLoader(c);
- if (System.getSecurityManager() != null)
- return AccessController.doPrivileged(action);
- else
+ if (System.getSecurityManager() == null) {
return action.run();
+ }
+ return AccessController.doPrivileged(action);
}
private PrivClassLoader(Class<?> c) {
@@ -238,12 +242,11 @@ public class Validation {
}
public ClassLoader run() {
- if (c != null)
- return c.getClassLoader();
- else
+ if (c == null) {
return Thread.currentThread().getContextClassLoader();
+ }
+ return c.getClassLoader();
}
}
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidationException.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidationException.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidationException.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidationException.java Mon Sep 4 21:01:48 2017
@@ -19,7 +19,9 @@ package javax.validation;
/**
* @version $Rev$ $Date$
*/
+@SuppressWarnings("serial")
public class ValidationException extends RuntimeException {
+
public ValidationException(String message) {
super(message);
}
@@ -36,4 +38,3 @@ public class ValidationException extends
super(cause);
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidationProviderResolver.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidationProviderResolver.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidationProviderResolver.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidationProviderResolver.java Mon Sep 4 21:01:48 2017
@@ -25,4 +25,3 @@ import java.util.List;
public interface ValidationProviderResolver {
List<ValidationProvider<?>> getValidationProviders();
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Validator.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Validator.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Validator.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/Validator.java Mon Sep 4 21:01:48 2017
@@ -42,4 +42,3 @@ public interface Validator {
/** @since 1.1 */
ExecutableValidator forExecutables();
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidatorContext.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidatorContext.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidatorContext.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidatorContext.java Mon Sep 4 21:01:48 2017
@@ -16,6 +16,8 @@
*/
package javax.validation;
+import javax.validation.valueextraction.ValueExtractor;
+
/**
* @version $Rev$ $Date$
*/
@@ -30,5 +32,10 @@ public interface ValidatorContext {
/** @since 1.1 */
ValidatorContext parameterNameProvider(ParameterNameProvider parameterNameProvider);
-}
+ /** @since 2.0 */
+ ValidatorContext clockProvider(ClockProvider clockProvider);
+
+ /** @since 2.0 */
+ ValidatorContext addValueExtractor(ValueExtractor<?> extractor);
+}
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidatorFactory.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidatorFactory.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidatorFactory.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/ValidatorFactory.java Mon Sep 4 21:01:48 2017
@@ -19,7 +19,7 @@ package javax.validation;
/**
* @version $Rev$ $Date$
*/
-public interface ValidatorFactory {
+public interface ValidatorFactory extends AutoCloseable {
Validator getValidator();
ValidatorContext usingContext();
@@ -35,6 +35,10 @@ public interface ValidatorFactory {
/** @since 1.1 */
ParameterNameProvider getParameterNameProvider();
+ /** @since 1.1 */
+ @Override
void close();
-}
+ /** @since 2.0 */
+ ClockProvider getClockProvider();
+}
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/bootstrap/GenericBootstrap.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/bootstrap/GenericBootstrap.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/bootstrap/GenericBootstrap.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/bootstrap/GenericBootstrap.java Mon Sep 4 21:01:48 2017
@@ -27,4 +27,3 @@ public interface GenericBootstrap {
Configuration<?> configure();
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/bootstrap/ProviderSpecificBootstrap.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/bootstrap/ProviderSpecificBootstrap.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/bootstrap/ProviderSpecificBootstrap.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/bootstrap/ProviderSpecificBootstrap.java Mon Sep 4 21:01:48 2017
@@ -25,4 +25,3 @@ public interface ProviderSpecificBootstr
T configure();
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/AssertFalse.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/AssertFalse.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/AssertFalse.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/AssertFalse.java Mon Sep 4 21:01:48 2017
@@ -19,6 +19,7 @@ package javax.validation.constraints;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@@ -27,6 +28,7 @@ import static java.lang.annotation.Eleme
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
@@ -35,10 +37,11 @@ import static java.lang.annotation.Reten
*
* @version $Rev$ $Date$
*/
-@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE})
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {})
+@Repeatable(AssertFalse.List.class)
public @interface AssertFalse {
String message() default "{javax.validation.constraints.AssertFalse.message}";
@@ -46,11 +49,10 @@ public @interface AssertFalse {
Class<? extends Payload>[] payload() default {};
- @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@interface List {
AssertFalse[] value();
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/AssertTrue.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/AssertTrue.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/AssertTrue.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/AssertTrue.java Mon Sep 4 21:01:48 2017
@@ -19,6 +19,7 @@ package javax.validation.constraints;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@@ -27,6 +28,7 @@ import static java.lang.annotation.Eleme
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
@@ -35,10 +37,11 @@ import static java.lang.annotation.Reten
*
* @version $Rev$ $Date$
*/
-@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {})
+@Repeatable(AssertTrue.List.class)
public @interface AssertTrue {
String message() default "{javax.validation.constraints.AssertTrue.message}";
@@ -46,11 +49,10 @@ public @interface AssertTrue {
Class<? extends Payload>[] payload() default {};
- @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@interface List {
AssertTrue[] value();
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/DecimalMax.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/DecimalMax.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/DecimalMax.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/DecimalMax.java Mon Sep 4 21:01:48 2017
@@ -19,6 +19,7 @@ package javax.validation.constraints;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@@ -27,6 +28,7 @@ import static java.lang.annotation.Eleme
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
@@ -40,10 +42,11 @@ import static java.lang.annotation.Reten
*
* @version $Rev$ $Date$
*/
-@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {})
+@Repeatable(DecimalMax.List.class)
public @interface DecimalMax {
String message() default "{javax.validation.constraints.DecimalMax.message}";
@@ -56,11 +59,10 @@ public @interface DecimalMax {
/** @since 1.1 */
boolean inclusive() default true;
- @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@interface List {
DecimalMax[] value();
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/DecimalMin.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/DecimalMin.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/DecimalMin.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/DecimalMin.java Mon Sep 4 21:01:48 2017
@@ -19,6 +19,7 @@ package javax.validation.constraints;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@@ -27,6 +28,7 @@ import static java.lang.annotation.Eleme
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
@@ -40,10 +42,11 @@ import static java.lang.annotation.Reten
*
* @version $Rev$ $Date$
*/
-@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {})
+@Repeatable(DecimalMin.List.class)
public @interface DecimalMin {
String message() default "{javax.validation.constraints.DecimalMin.message}";
@@ -56,11 +59,10 @@ public @interface DecimalMin {
/** @since 1.1 */
boolean inclusive() default true;
- @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@interface List {
DecimalMin[] value();
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Digits.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Digits.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Digits.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Digits.java Mon Sep 4 21:01:48 2017
@@ -19,6 +19,7 @@ package javax.validation.constraints;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@@ -27,6 +28,7 @@ import static java.lang.annotation.Eleme
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
@@ -46,10 +48,11 @@ import static java.lang.annotation.Reten
*
* @version $Rev$ $Date$
*/
-@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {})
+@Repeatable(Digits.List.class)
public @interface Digits {
String message() default "{javax.validation.constraints.Digits.message}";
@@ -67,11 +70,10 @@ public @interface Digits {
*/
int fraction();
- @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@interface List {
Digits[] value();
}
}
-
Added: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Email.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Email.java?rev=1807299&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Email.java (added)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Email.java Mon Sep 4 21:01:48 2017
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to you 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.constraints;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+/**
+ * @since 2.0
+ */
+@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
+@Retention(RUNTIME)
+@Documented
+@Constraint(validatedBy = {})
+@Repeatable(Email.List.class)
+public @interface Email {
+ String message() default "{javax.validation.constraints.Email.message}";
+
+ Class<?>[] groups() default {};
+
+ Class<? extends Payload>[] payload() default {};
+
+ String regexp() default ".*";
+
+ Pattern.Flag[] flags() default {};
+
+ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
+ @Retention(RUNTIME)
+ @Documented
+ @interface List {
+ Email[] value();
+ }
+}
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Future.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Future.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Future.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Future.java Mon Sep 4 21:01:48 2017
@@ -19,6 +19,7 @@ package javax.validation.constraints;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@@ -27,20 +28,44 @@ import static java.lang.annotation.Eleme
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
+ * <p>
* Verify that the annotated value of the annotated element is in the future or {@code null}.
- * Supported types are {@link java.util.Calendar} and {@link java.util.Date}
+ * </p>
+ * <p>
+ * Supports:
+ * <ul>
+ * <li>{@code java.util.Date}</li>
+ * <li>{@code java.util.Calendar}</li>
+ * <li>{@code java.time.Instant}</li>
+ * <li>{@code java.time.LocalDate}</li>
+ * <li>{@code java.time.LocalDateTime}</li>
+ * <li>{@code java.time.LocalTime}</li>
+ * <li>{@code java.time.MonthDay}</li>
+ * <li>{@code java.time.OffsetDateTime}</li>
+ * <li>{@code java.time.OffsetTime}</li>
+ * <li>{@code java.time.Year}</li>
+ * <li>{@code java.time.YearMonth}</li>
+ * <li>{@code java.time.ZonedDateTime}</li>
+ * <li>{@code java.time.chrono.HijrahDate}</li>
+ * <li>{@code java.time.chrono.JapaneseDate}</li>
+ * <li>{@code java.time.chrono.MinguoDate}</li>
+ * <li>{@code java.time.chrono.ThaiBuddhistDate}</li>
+ * </ul>
+ * </p>
*
* Other types might be supported in a non-portable manner.
*
* @version $Rev$ $Date$
*/
-@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {})
+@Repeatable(Future.List.class)
public @interface Future {
String message() default "{javax.validation.constraints.Future.message}";
@@ -48,11 +73,10 @@ public @interface Future {
Class<? extends Payload>[] payload() default {};
- @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@interface List {
Future[] value();
}
}
-
Added: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/FutureOrPresent.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/FutureOrPresent.java?rev=1807299&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/FutureOrPresent.java (added)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/FutureOrPresent.java Mon Sep 4 21:01:48 2017
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to you 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.constraints;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+/**
+ * <p>
+ * Verify that the value of the annotated element is in the future, present or {@code null}.
+ * </p>
+ * <p>
+ * Supports:
+ * <ul>
+ * <li>{@code java.util.Date}</li>
+ * <li>{@code java.util.Calendar}</li>
+ * <li>{@code java.time.Instant}</li>
+ * <li>{@code java.time.LocalDate}</li>
+ * <li>{@code java.time.LocalDateTime}</li>
+ * <li>{@code java.time.LocalTime}</li>
+ * <li>{@code java.time.MonthDay}</li>
+ * <li>{@code java.time.OffsetDateTime}</li>
+ * <li>{@code java.time.OffsetTime}</li>
+ * <li>{@code java.time.Year}</li>
+ * <li>{@code java.time.YearMonth}</li>
+ * <li>{@code java.time.ZonedDateTime}</li>
+ * <li>{@code java.time.chrono.HijrahDate}</li>
+ * <li>{@code java.time.chrono.JapaneseDate}</li>
+ * <li>{@code java.time.chrono.MinguoDate}</li>
+ * <li>{@code java.time.chrono.ThaiBuddhistDate}</li>
+ * </ul>
+ * </p>
+ *
+ * Other types might be supported in a non-portable manner.
+ *
+ * @since 2.0
+ */
+@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
+@Retention(RUNTIME)
+@Documented
+@Constraint(validatedBy = {})
+@Repeatable(FutureOrPresent.List.class)
+public @interface FutureOrPresent {
+ String message() default "{javax.validation.constraints.FutureOrPresent.message}";
+
+ Class<?>[] groups() default {};
+
+ Class<? extends Payload>[] payload() default {};
+
+ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
+ @Retention(RUNTIME)
+ @Documented
+ @interface List {
+ FutureOrPresent[] value();
+ }
+}
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Max.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Max.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Max.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Max.java Mon Sep 4 21:01:48 2017
@@ -19,6 +19,7 @@ package javax.validation.constraints;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@@ -27,6 +28,7 @@ import static java.lang.annotation.Eleme
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
@@ -40,10 +42,11 @@ import static java.lang.annotation.Reten
*
* @version $Rev$ $Date$
*/
-@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {})
+@Repeatable(Max.List.class)
public @interface Max {
String message() default "{javax.validation.constraints.Max.message}";
@@ -53,11 +56,10 @@ public @interface Max {
long value();
- @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@interface List {
Max[] value();
}
}
-
Modified: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Min.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Min.java?rev=1807299&r1=1807298&r2=1807299&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Min.java (original)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Min.java Mon Sep 4 21:01:48 2017
@@ -19,6 +19,7 @@ package javax.validation.constraints;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@@ -27,6 +28,7 @@ import static java.lang.annotation.Eleme
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
@@ -40,10 +42,11 @@ import static java.lang.annotation.Reten
*
* @version $Rev$ $Date$
*/
-@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {})
+@Repeatable(Min.List.class)
public @interface Min {
String message() default "{javax.validation.constraints.Min.message}";
@@ -53,11 +56,10 @@ public @interface Min {
long value();
- @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
+ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
@Retention(RUNTIME)
@Documented
@interface List {
Min[] value();
}
}
-
Added: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Negative.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Negative.java?rev=1807299&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Negative.java (added)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/Negative.java Mon Sep 4 21:01:48 2017
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to you 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.constraints;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+/**
+ * @since 2.0
+ */
+@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
+@Retention(RUNTIME)
+@Documented
+@Constraint(validatedBy = {})
+@Repeatable(Negative.List.class)
+public @interface Negative {
+ String message() default "{javax.validation.constraints.Negative.message}";
+
+ Class<?>[] groups() default {};
+
+ Class<? extends Payload>[] payload() default {};
+
+ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
+ @Retention(RUNTIME)
+ @Documented
+ @interface List {
+ Negative[] value();
+ }
+}
Added: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/NegativeOrZero.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/NegativeOrZero.java?rev=1807299&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/NegativeOrZero.java (added)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/NegativeOrZero.java Mon Sep 4 21:01:48 2017
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to you 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.constraints;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+/**
+ * @since 2.0
+ */
+@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
+@Retention(RUNTIME)
+@Documented
+@Constraint(validatedBy = {})
+@Repeatable(NegativeOrZero.List.class)
+public @interface NegativeOrZero {
+ String message() default "{javax.validation.constraints.NegativeOrZero.message}";
+
+ Class<?>[] groups() default {};
+
+ Class<? extends Payload>[] payload() default {};
+
+ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
+ @Retention(RUNTIME)
+ @Documented
+ @interface List {
+ NegativeOrZero[] value();
+ }
+}
Added: geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/NotBlank.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/NotBlank.java?rev=1807299&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/NotBlank.java (added)
+++ geronimo/specs/trunk/geronimo-validation_2.0_spec/src/main/java/javax/validation/constraints/NotBlank.java Mon Sep 4 21:01:48 2017
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with this
+ * work for additional information regarding copyright ownership. The ASF
+ * licenses this file to you 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.constraints;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.Documented;
+import java.lang.annotation.Repeatable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE_USE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+/**
+ * @since 2.0
+ */
+@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
+@Retention(RUNTIME)
+@Documented
+@Constraint(validatedBy = {})
+@Repeatable(NotBlank.List.class)
+public @interface NotBlank {
+ String message() default "{javax.validation.constraints.NotBlank.message}";
+
+ Class<?>[] groups() default {};
+
+ Class<? extends Payload>[] payload() default {};
+
+ @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
+ @Retention(RUNTIME)
+ @Documented
+ @interface List {
+ NotBlank[] value();
+ }
+}