com.sun.xml.ws.util
Class HandlerAnnotationProcessor

java.lang.Object
  extended by com.sun.xml.ws.util.HandlerAnnotationProcessor

public class HandlerAnnotationProcessor
extends Object

Used by client and server side to create handler information from annotated class. The public methods all return a HandlerChainInfo that contains the handlers and role information needed at runtime.

All of the handler chain descriptors follow the same schema, whether they are wsdl customizations, handler files specified by an annotation, or are included in the sun-jaxws.xml file. So this class is used for all handler xml information. The two public entry points are buildHandlerInfo(java.lang.Class, javax.xml.namespace.QName, javax.xml.namespace.QName, com.sun.xml.ws.api.WSBinding), called when you have an annotated class that points to a file.

The methods in the class are static so that it may called from the runtime statically.

See Also:
HandlerAnnotationInfo

Constructor Summary
HandlerAnnotationProcessor()
           
 
Method Summary
static HandlerChainsModel buildHandlerChainsModel(Class<?> clazz)
           
static HandlerAnnotationInfo buildHandlerInfo(Class<?> clazz, QName serviceName, QName portName, WSBinding binding)
          This method is called by EndpointFactory when they have an annotated class.
(package private) static Class getClass(String className)
           
(package private) static InputStream getFileAsStream(Class clazz, javax.jws.HandlerChain chain)
           
(package private) static Class getSEI(Class<?> clazz)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HandlerAnnotationProcessor

public HandlerAnnotationProcessor()
Method Detail

buildHandlerInfo

public static HandlerAnnotationInfo buildHandlerInfo(@NotNull
                                                     Class<?> clazz,
                                                     QName serviceName,
                                                     QName portName,
                                                     WSBinding binding)

This method is called by EndpointFactory when they have an annotated class.

If there is no handler chain annotation on the class, this method will return null. Otherwise it will load the class and call the parseHandlerFile method to read the information.

Returns:
A HandlerAnnotationInfo object that stores the handlers and roles. Will return null if the class passed in has no handler chain annotation.

buildHandlerChainsModel

public static HandlerChainsModel buildHandlerChainsModel(Class<?> clazz)

getClass

static Class getClass(String className)

getSEI

static Class getSEI(Class<?> clazz)

getFileAsStream

static InputStream getFileAsStream(Class clazz,
                                   javax.jws.HandlerChain chain)