1 /* 2 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 3 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 */ 5 6 package javax.xml.ws.spi; 7 8 import java.lang.annotation.Documented; 9 import java.lang.annotation.Target; 10 import java.lang.annotation.ElementType; 11 import java.lang.annotation.Retention; 12 import java.lang.annotation.RetentionPolicy; 13 import javax.xml.ws.WebServiceFeature; 14 15 /** 16 * Annotation used to identify other annotations 17 * as a <code>WebServiceFeature</code>. 18 * 19 * Each <code>WebServiceFeature</code> annotation annotated with 20 * this annotation MUST contain an 21 * <code>enabled</code> property of type 22 * <code>boolean</code> with a default value of <code>true</code>. 23 * JAX-WS defines the following 24 * <code>WebServiceFeature</code> annotations (<code>Addressing</code>, 25 * <code>MTOM</code>, <code>RespectBinding</code>), however, an implementation 26 * may define vendors specific annotations for other features. 27 * If a JAX-WS implementation encounters an annotation annotated 28 * with the <code>WebServiceFeatureAnnotation</code> that it does not 29 * recognize/support an error MUST be given. 30 * 31 * @see javax.xml.ws.soap.Addressing 32 * @see javax.xml.ws.soap.MTOM 33 * @see javax.xml.ws.RespectBinding 34 * 35 * @since JAX-WS 2.1 36 */ 37 @Target(ElementType.ANNOTATION_TYPE) 38 @Retention(RetentionPolicy.RUNTIME) 39 @Documented 40 public @interface WebServiceFeatureAnnotation { 41 /** 42 * Unique identifier for the WebServiceFeature. This 43 * identifier MUST be unique across all implementations 44 * of JAX-WS. 45 */ 46 String id(); 47 48 /** 49 * The <code>WebServiceFeature</code> bean that is associated 50 * with the <code>WebServiceFeature</code> annotation 51 */ 52 Class<? extends WebServiceFeature> bean(); 53 } 54