--- old/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/WebServiceRef.java 2017-06-01 18:21:29.221569567 +0100 +++ new/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/WebServiceRef.java 2017-06-01 18:21:29.165569567 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -30,8 +30,10 @@ import java.lang.annotation.Documented; import java.lang.annotation.Target; import java.lang.annotation.ElementType; +import java.lang.annotation.Repeatable; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import javax.annotation.Resource; /** * The {@code WebServiceRef} annotation is used to @@ -72,16 +74,17 @@ * annotation annotated with the {@code WebServiceFeatureAnnotation} * that is specified with {@code WebServiceRef}, an ERROR MUST be given. * - * @see javax.annotation.Resource + * @see Resource * @see WebServiceFeatureAnnotation * * @since 1.6, JAX-WS 2.0 * -**/ + **/ @Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) @Documented +@Repeatable(WebServiceRefs.class) public @interface WebServiceRef { /** * The JNDI name of the resource. For field annotations, @@ -92,6 +95,8 @@ * * The JNDI name can be absolute(with any logical namespace) or relative * to JNDI {@code java:comp/env} namespace. + * + * @return absolute or relative JNDI name */ String name() default ""; @@ -101,6 +106,8 @@ * the default is the type of the JavaBeans property. * For class annotations, there is no default and this MUST be * specified. + * + * @return type of the resource */ Class type() default Object.class; @@ -119,6 +126,8 @@ * form or type of mapped name, nor the ability to use mapped names. * The mapped name is product-dependent and often installation-dependent. * No use of a mapped name is portable. + * + * @return product specific resource name */ String mappedName() default ""; @@ -126,16 +135,20 @@ * The service class, always a type extending * {@code javax.xml.ws.Service}. This element MUST be specified * whenever the type of the reference is a service endpoint interface. + * + * @return the service class extending {@code javax.xml.ws.Service} */ - // 2.1 has Class value() default Object.class; - // Fixing this raw Class type correctly in 2.2 API. This shouldn't cause - // any compatibility issues for applications. + // 2.1 has Class value() default Object.class; + // Fixing this raw Class type correctly in 2.2 API. This shouldn't cause + // any compatibility issues for applications. Class value() default Service.class; /** * A URL pointing to the WSDL document for the web service. * If not specified, the WSDL location specified by annotations * on the resource type is used instead. + * + * @return a URL pointing to the WSDL document */ String wsdlLocation() default ""; @@ -143,6 +156,7 @@ * A portable JNDI lookup name that resolves to the target * web service reference. * + * @return portable JNDI lookup name * @since 1.7, JAX-WS 2.2 */ String lookup() default "";