Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
JAXWS/Tools Extension Points
Contents
Annotations Framework
Annotation Category
Plug-in: org.eclipse.jst.ws.annotations.core
Identifier: org.eclipse.jst.ws.annotations.core.annotationCategory
Description: The purpose of this extension point is to define an annotation category to group together a set of annotations.
Consumers org.eclipse.jst.ws.jaxws.core, org.eclipse.jst.ws.jaxb.core
Example: Defines a JAX-WS category.
<extension point="org.eclipse.jst.ws.annotations.core.annotationCategory"> <category id="jaxws.category" name="JAX-WS"> </category> </extension>
Annotation Definition
Plug-in: org.eclipse.jst.ws.annotations.core
Identifier: org.eclipse.jst.ws.annotations.core.annotationDefinition
Description: This extension point is is used to define an annotation.
Consumers org.eclipse.jst.ws.jaxws.core, org.eclipse.jst.ws.jaxb.core
Example: Defines the javax.jws.WebService annotation.
<extension point="org.eclipse.jst.ws.annotations.core.annotationDefinition"> <annotation category="jaxws.category" class="javax.jws.WebService" name="WebService"> </annotation> </extension>
Example: Annotations use ElementType constants with the Target meta-annotation type to specify where the annotation can be applied. This information is used by the JAX-WS Annotation Properties view when presenting applicable annotations for a selected element in the Java editor. One of those constants is the ElementType.TYPE constant which covers classes, interfaces and enum declarations. It's possible to further refine that restriction in the properties view using the optional restrictedTo attribute when defining the annotation.
<extension point="org.eclipse.jst.ws.annotations.core.annotationDefinition"> <annotation category="jaxws.category" class="javax.xml.ws.WebServiceProvider" name="WebServiceProvider" restrictedTo="CLASS_ONLY"> </annotation> </extension>
Example: The @HandlerChain annotation specifies the TYPE, METHOD and FIELD ElementType as its applicable targets. However in JAX-WS 2.1 the @HandlerChain annotation may only be specified on a TYPE. The METHOD and FIELD element types were used in JAX-WS 2.0. To filter out the METHOD and FIELD element types so that the @HandlerChain annotation isn't presented for those selections in the JAX-WS Annotation Properties view we can use the targetFilter attribute when defining the annotation.
<extension point="org.eclipse.jst.ws.annotations.core.annotationDefinition"> <annotation category="jaxws.category" class="javax.jws.HandlerChain" name="HandlerChain"> <targetFilter target="FIELD"/> <targetFilter target="METHOD"/> </annotation> </extension>
Annotation Initializer
Plug-in: org.eclipse.jst.ws.annotations.core
Identifier: org.eclipse.jst.ws.annotations.core.annotationInitializer
Description: This extension point is used to define an 'initializer' for an annotation which can used to calculate values for the annotations elements.
Consumers org.eclipse.jst.ws.jaxws.ui
Example: Adds an initializer for the javax.jws.WebService annotation.
<extension point="org.eclipse.jst.ws.annotations.core.annotationInitializer"> <initializer annotation="javax.jws.WebService" class="org.eclipse.jst.ws.internal.jaxws.ui.annotations.initialization.WebServiceAttributeInitializer"> </initializer> </extension>
Annotation Processor
Plug-in: org.eclipse.jst.ws.annotations.core
Identifier: org.eclipse.jst.ws.annotations.core.annotationProcessor
Description: This extension point is used to define a APT 'processor' which is used to validate the annotation.
Consumers org.eclipse.jst.ws.jaxws.core
Example: Adds a processor to validate a subset of the rules pertaining to the javax.jws.WebService annotation.
<extension point="org.eclipse.jst.ws.annotations.core.annotationProcessor"> <processor annotation="javax.jws.WebService" class="org.eclipse.jst.ws.internal.jaxws.core.annotations.validation.WebServicePublicAbstractFinalRule"> <description> Classes annotated with @WebService must be an outer public class, must not be final, and must not be abstract </description> </processor> </extension>
Web Service Domain Object Model
Contributing web service model runtime extension
Plug-in: org.eclipse.jst.ws.jaxws.dom.runtime
Identifier: org.eclipse.jst.ws.jaxws.dom.runtime.domruntimes
Description: This extension point is used to contribute artifacts in the web service domain object model. The contributed artifacts are visible under the "JAX-WS Web Services" node in the Project Explorer view
Consumers org.eclipse.jst.ws.jaxws.dom.runtime
Example: Adds a WS DOM runtime extension for JAX-WS web services contained in EJB3.0 / Web2.5 module projects
<extension id="org.eclipse.jst.ws.jaxws.dom.jee5" name="JEE5 DOM contribution" point="org.eclipse.jst.ws.jaxws.dom.runtime.domruntimes"> <implementation class="org.eclipse.jst.ws.jaxws.dom.runtime.persistence.Jee5WsDomRuntimeExtension"/> <project_facet id="jst.ejb" version="3.0"/> <project_facet id="jst.web" version="2.5"/> </extension>