com.sun.tools.ws.processor.modeler.annotation
Class WebServiceVisitor

java.lang.Object
  extended by javax.lang.model.util.AbstractElementVisitor6<R,P>
      extended by javax.lang.model.util.SimpleElementVisitor6<Void,Object>
          extended by com.sun.tools.ws.processor.modeler.annotation.WebServiceVisitor
All Implemented Interfaces:
javax.lang.model.element.ElementVisitor<Void,Object>
Direct Known Subclasses:
WebServiceWrapperGenerator

public abstract class WebServiceVisitor
extends javax.lang.model.util.SimpleElementVisitor6<Void,Object>


Nested Class Summary
protected static class WebServiceVisitor.MySoapBinding
           
 
Field Summary
protected  ModelBuilder builder
           
protected  AnnotationProcessorContext context
           
protected  javax.lang.model.element.Name endpointInterfaceName
           
protected  boolean endpointReferencesInterface
           
protected  boolean hasWebMethods
           
protected  javax.lang.model.element.Name packageName
           
protected  Port port
           
protected  String portName
           
protected  Set<String> processedMethods
           
protected  boolean processingSei
           
protected  boolean pushedSoapBinding
           
protected  AnnotationProcessorContext.SeiContext seiContext
           
protected  javax.lang.model.element.Name serviceImplName
           
protected  String serviceName
           
protected  Stack<javax.jws.soap.SOAPBinding> soapBindingStack
           
protected  SOAPStyle soapStyle
           
protected  javax.lang.model.element.TypeElement typeElement
           
protected  javax.jws.soap.SOAPBinding typeElementSoapBinding
           
protected  String typeNamespace
           
protected  boolean wrapped
           
protected  String wsdlNamespace
           
 
Fields inherited from class javax.lang.model.util.SimpleElementVisitor6
DEFAULT_VALUE
 
Constructor Summary
WebServiceVisitor(ModelBuilder builder, AnnotationProcessorContext context)
           
 
Method Summary
protected  void checkForInvalidImplAnnotation(javax.lang.model.element.Element element, Class annotationClass)
           
protected  void checkForInvalidSeiAnnotation(javax.lang.model.element.TypeElement element, Class annotationClass)
           
protected  boolean classImplementsSei(javax.lang.model.element.TypeElement classElement, javax.lang.model.element.TypeElement interfaceElement)
           
protected  int getModeParameterCount(javax.lang.model.element.ExecutableElement method, javax.jws.WebParam.Mode mode)
           
protected  String getNamespace(javax.lang.model.element.PackageElement packageElement)
           
protected  javax.lang.model.element.VariableElement getOutParameter(javax.lang.model.element.ExecutableElement method)
           
protected  boolean hasWebMethods(javax.lang.model.element.TypeElement element)
           
protected  boolean isDocLitWrapped()
           
protected  boolean isEquivalentModes(javax.jws.WebParam.Mode mode1, javax.jws.WebParam.Mode mode2)
           
protected  boolean isHolder(javax.lang.model.element.VariableElement param)
           
protected  boolean isLegalImplementation(javax.jws.WebService webService, javax.lang.model.element.TypeElement classElement)
           
protected  boolean isLegalMethod(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.TypeElement typeElement)
           
protected  boolean isLegalParameter(javax.lang.model.element.VariableElement param, javax.lang.model.element.ExecutableElement method, javax.lang.model.element.TypeElement typeElement, int paramIndex)
           
protected  boolean isLegalSei(javax.lang.model.element.TypeElement interfaceElement)
           
protected  boolean isLegalType(javax.lang.model.type.TypeMirror type)
           
protected  boolean isValidOneWayMethod(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.TypeElement typeElement)
           
protected  boolean methodsAreLegal(javax.lang.model.element.TypeElement element)
           
protected  javax.jws.soap.SOAPBinding popSoapBinding()
           
protected  void postProcessWebService(javax.jws.WebService webService, javax.lang.model.element.TypeElement element)
           
protected  void preProcessWebService(javax.jws.WebService webService, javax.lang.model.element.TypeElement element)
           
protected  boolean processedMethod(javax.lang.model.element.ExecutableElement method)
           
protected abstract  void processMethod(javax.lang.model.element.ExecutableElement method, javax.jws.WebMethod webMethod)
           
protected  void processMethods(javax.lang.model.element.TypeElement element)
           
protected abstract  void processWebService(javax.jws.WebService webService, javax.lang.model.element.TypeElement element)
           
protected  boolean pushSoapBinding(javax.jws.soap.SOAPBinding soapBinding, javax.lang.model.element.Element bindingElement, javax.lang.model.element.TypeElement classElement)
           
protected  boolean sameMethod(javax.lang.model.element.ExecutableElement method1, javax.lang.model.element.ExecutableElement method2)
           
static boolean sameStyle(javax.jws.soap.SOAPBinding.Style style, SOAPStyle soapStyle)
           
protected  boolean shouldProcessMethod(javax.lang.model.element.ExecutableElement method, javax.jws.WebMethod webMethod)
           
protected  boolean shouldProcessWebService(javax.jws.WebService webService, javax.lang.model.element.TypeElement element)
           
protected  void verifyImplAnnotations(javax.lang.model.element.TypeElement d)
           
protected  void verifySeiAnnotations(javax.jws.WebService webService, javax.lang.model.element.TypeElement d)
           
 Void visitExecutable(javax.lang.model.element.ExecutableElement method, Object o)
           
 Void visitType(javax.lang.model.element.TypeElement e, Object o)
           
 
Methods inherited from class javax.lang.model.util.SimpleElementVisitor6
defaultAction, visitPackage, visitTypeParameter, visitVariable
 
Methods inherited from class javax.lang.model.util.AbstractElementVisitor6
visit, visit, visitUnknown
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

builder

protected ModelBuilder builder

wsdlNamespace

protected String wsdlNamespace

typeNamespace

protected String typeNamespace

soapBindingStack

protected Stack<javax.jws.soap.SOAPBinding> soapBindingStack

typeElementSoapBinding

protected javax.jws.soap.SOAPBinding typeElementSoapBinding

soapStyle

protected SOAPStyle soapStyle

wrapped

protected boolean wrapped

port

protected Port port

serviceImplName

protected javax.lang.model.element.Name serviceImplName

endpointInterfaceName

protected javax.lang.model.element.Name endpointInterfaceName

context

protected AnnotationProcessorContext context

seiContext

protected AnnotationProcessorContext.SeiContext seiContext

processingSei

protected boolean processingSei

serviceName

protected String serviceName

packageName

protected javax.lang.model.element.Name packageName

portName

protected String portName

endpointReferencesInterface

protected boolean endpointReferencesInterface

hasWebMethods

protected boolean hasWebMethods

typeElement

protected javax.lang.model.element.TypeElement typeElement

processedMethods

protected Set<String> processedMethods

pushedSoapBinding

protected boolean pushedSoapBinding
Constructor Detail

WebServiceVisitor

public WebServiceVisitor(ModelBuilder builder,
                         AnnotationProcessorContext context)
Method Detail

visitType

public Void visitType(javax.lang.model.element.TypeElement e,
                      Object o)
Specified by:
visitType in interface javax.lang.model.element.ElementVisitor<Void,Object>
Overrides:
visitType in class javax.lang.model.util.SimpleElementVisitor6<Void,Object>

verifySeiAnnotations

protected void verifySeiAnnotations(javax.jws.WebService webService,
                                    javax.lang.model.element.TypeElement d)

verifyImplAnnotations

protected void verifyImplAnnotations(javax.lang.model.element.TypeElement d)

checkForInvalidSeiAnnotation

protected void checkForInvalidSeiAnnotation(javax.lang.model.element.TypeElement element,
                                            Class annotationClass)

checkForInvalidImplAnnotation

protected void checkForInvalidImplAnnotation(javax.lang.model.element.Element element,
                                             Class annotationClass)

preProcessWebService

protected void preProcessWebService(javax.jws.WebService webService,
                                    javax.lang.model.element.TypeElement element)

sameStyle

public static boolean sameStyle(javax.jws.soap.SOAPBinding.Style style,
                                SOAPStyle soapStyle)

pushSoapBinding

protected boolean pushSoapBinding(javax.jws.soap.SOAPBinding soapBinding,
                                  javax.lang.model.element.Element bindingElement,
                                  javax.lang.model.element.TypeElement classElement)

popSoapBinding

protected javax.jws.soap.SOAPBinding popSoapBinding()

getNamespace

protected String getNamespace(javax.lang.model.element.PackageElement packageElement)

shouldProcessWebService

protected boolean shouldProcessWebService(javax.jws.WebService webService,
                                          javax.lang.model.element.TypeElement element)

processWebService

protected abstract void processWebService(javax.jws.WebService webService,
                                          javax.lang.model.element.TypeElement element)

postProcessWebService

protected void postProcessWebService(javax.jws.WebService webService,
                                     javax.lang.model.element.TypeElement element)

hasWebMethods

protected boolean hasWebMethods(javax.lang.model.element.TypeElement element)

processMethods

protected void processMethods(javax.lang.model.element.TypeElement element)

visitExecutable

public Void visitExecutable(javax.lang.model.element.ExecutableElement method,
                            Object o)
Specified by:
visitExecutable in interface javax.lang.model.element.ElementVisitor<Void,Object>
Overrides:
visitExecutable in class javax.lang.model.util.SimpleElementVisitor6<Void,Object>

processedMethod

protected boolean processedMethod(javax.lang.model.element.ExecutableElement method)

shouldProcessMethod

protected boolean shouldProcessMethod(javax.lang.model.element.ExecutableElement method,
                                      javax.jws.WebMethod webMethod)

processMethod

protected abstract void processMethod(javax.lang.model.element.ExecutableElement method,
                                      javax.jws.WebMethod webMethod)

isLegalImplementation

protected boolean isLegalImplementation(javax.jws.WebService webService,
                                        javax.lang.model.element.TypeElement classElement)

classImplementsSei

protected boolean classImplementsSei(javax.lang.model.element.TypeElement classElement,
                                     javax.lang.model.element.TypeElement interfaceElement)

sameMethod

protected boolean sameMethod(javax.lang.model.element.ExecutableElement method1,
                             javax.lang.model.element.ExecutableElement method2)

isLegalSei

protected boolean isLegalSei(javax.lang.model.element.TypeElement interfaceElement)

methodsAreLegal

protected boolean methodsAreLegal(javax.lang.model.element.TypeElement element)

isLegalMethod

protected boolean isLegalMethod(javax.lang.model.element.ExecutableElement method,
                                javax.lang.model.element.TypeElement typeElement)

isLegalParameter

protected boolean isLegalParameter(javax.lang.model.element.VariableElement param,
                                   javax.lang.model.element.ExecutableElement method,
                                   javax.lang.model.element.TypeElement typeElement,
                                   int paramIndex)

isDocLitWrapped

protected boolean isDocLitWrapped()

isValidOneWayMethod

protected boolean isValidOneWayMethod(javax.lang.model.element.ExecutableElement method,
                                      javax.lang.model.element.TypeElement typeElement)

getModeParameterCount

protected int getModeParameterCount(javax.lang.model.element.ExecutableElement method,
                                    javax.jws.WebParam.Mode mode)

isEquivalentModes

protected boolean isEquivalentModes(javax.jws.WebParam.Mode mode1,
                                    javax.jws.WebParam.Mode mode2)

isHolder

protected boolean isHolder(javax.lang.model.element.VariableElement param)

isLegalType

protected boolean isLegalType(javax.lang.model.type.TypeMirror type)

getOutParameter

protected javax.lang.model.element.VariableElement getOutParameter(javax.lang.model.element.ExecutableElement method)


Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved.