Class JavaGeneratorFactory

  • All Implemented Interfaces:
    GeneratorFactory

    public class JavaGeneratorFactory
    extends java.lang.Object
    implements GeneratorFactory
    This is Wsdl2java's implementation of the GeneratorFactory
    • Field Detail

      • emitter

        protected Emitter emitter
        Field emitter
      • symbolTable

        protected SymbolTable symbolTable
        Field symbolTable
      • COMPLEX_TYPE_FAULT

        public static java.lang.String COMPLEX_TYPE_FAULT
        Field COMPLEX_TYPE_FAULT
      • EXCEPTION_CLASS_NAME

        public static java.lang.String EXCEPTION_CLASS_NAME
        Field EXCEPTION_CLASS_NAME
      • EXCEPTION_DATA_TYPE

        public static java.lang.String EXCEPTION_DATA_TYPE
        Field EXCEPTION_DATA_TYPE
    • Constructor Detail

      • JavaGeneratorFactory

        public JavaGeneratorFactory()
        Default constructor. Note that this class is unusable until setEmitter is called.
      • JavaGeneratorFactory

        public JavaGeneratorFactory​(Emitter emitter)
        Constructor JavaGeneratorFactory
        Parameters:
        emitter -
    • Method Detail

      • setEmitter

        public void setEmitter​(Emitter emitter)
        Method setEmitter
        Parameters:
        emitter -
      • addMessageGenerators

        protected void addMessageGenerators()
        These addXXXGenerators are called by the constructor. If an extender of this factory wants to CHANGE the set of generators that are called per WSDL construct, they should override these addXXXGenerators methods. If all an extender wants to do is ADD a generator, then the extension should simply call addGenerator. (NOTE: It doesn't quite work this way, yet. Only the Definition generators fit this model at this point in time.)
      • addPortTypeGenerators

        protected void addPortTypeGenerators()
        Method addPortTypeGenerators
      • addBindingGenerators

        protected void addBindingGenerators()
        Method addBindingGenerators
      • addServiceGenerators

        protected void addServiceGenerators()
        Method addServiceGenerators
      • addTypeGenerators

        protected void addTypeGenerators()
        Method addTypeGenerators
      • addDefinitionGenerators

        protected void addDefinitionGenerators()
        Method addDefinitionGenerators
      • generatorPass

        public void generatorPass​(javax.wsdl.Definition def,
                                  SymbolTable symbolTable)
        Do the Wsdl2java generator pass: - resolve name clashes - construct signatures
        Specified by:
        generatorPass in interface GeneratorFactory
        Parameters:
        def -
        symbolTable -
      • addGenerator

        public void addGenerator​(java.lang.Class wsdlClass,
                                 java.lang.Class generator)
        Method addGenerator
        Parameters:
        wsdlClass -
        generator -
      • javifyNames

        protected void javifyNames​(SymbolTable symbolTable)
        Fill in the names of each SymTabEntry with the javaified name. Note: This method also ensures that anonymous types are given unique java type names.
        Parameters:
        symbolTable -
      • javifyTypeEntryName

        protected int javifyTypeEntryName​(SymbolTable symbolTable,
                                          TypeEntry entry,
                                          java.util.HashMap anonQNames,
                                          int uniqueNum)
        Refactored to call recursively for JAX-RPC 1.1 spec 4.2.5.
      • getExceptionJavaNameHook

        protected java.lang.String getExceptionJavaNameHook​(QName qname)
      • determineInterfaceNames

        protected void determineInterfaceNames​(SymbolTable symbolTable)
        Method determineInterfaceNames
        Parameters:
        symbolTable -
      • getServiceEndpointInterfaceJavaNameHook

        protected java.lang.String getServiceEndpointInterfaceJavaNameHook​(PortTypeEntry ptEntry,
                                                                           BindingEntry bEntry)
      • getServiceInterfaceJavaNameHook

        protected java.lang.String getServiceInterfaceJavaNameHook​(ServiceEntry sEntry)
      • getPortJavaNameHook

        protected java.lang.String getPortJavaNameHook​(java.lang.String portName)
      • resolveNameClashes

        protected void resolveNameClashes​(SymbolTable symbolTable)
        Messages, PortTypes, Bindings, and Services can share the same name. If they do in this Definition, force their names to be suffixed with _PortType and _Service, respectively.
        Parameters:
        symbolTable -
      • setAllReferencesToTrue

        protected void setAllReferencesToTrue()
        The --all flag is set on the command line (or generateAll(true) is called on WSDL2Java). Set all symbols as referenced (except nonSOAP bindings which we don't know how to deal with).
      • ignoreNonSOAPBindings

        protected void ignoreNonSOAPBindings​(SymbolTable symbolTable)
        If a binding's type is not TYPE_SOAP, then we don't use that binding or that binding's portType.
        Parameters:
        symbolTable -
      • constructSignatures

        protected void constructSignatures​(SymbolTable symbolTable)
        Method constructSignatures
        Parameters:
        symbolTable -
      • getOperationJavaNameHook

        protected java.lang.String getOperationJavaNameHook​(BindingEntry bEntry,
                                                            java.lang.String wsdlOpName)
      • getReturnTypeJavaNameHook

        protected java.lang.String getReturnTypeJavaNameHook​(BindingEntry bEntry,
                                                             java.lang.String wsdlOpName)
      • getParameterTypeJavaNameHook

        protected java.lang.String getParameterTypeJavaNameHook​(BindingEntry bEntry,
                                                                java.lang.String wsdlOpName,
                                                                int pos)
      • determineIfHoldersNeeded

        protected void determineIfHoldersNeeded​(SymbolTable symbolTable)
        Find all inout/out parameters and add a flag to the Type of that parameter saying a holder is needed.
        Parameters:
        symbolTable -
      • include

        protected boolean include​(QName qName)
        Determines whether the QName supplied should be generated by comparing the namespace for the QName against the included and excluded names.

        • if both the includes and excludes are both empty, the element is generated
        • if the namespace is in the includes, the element is generated
        • if the namespace is not in the excludes and the includes are empty, the element will be generated.
        • if the namespace is only in the excludes, the element is not generated
        • if the namespace is not in the includes and the includes are not empty, the element is not generated
        Parameters:
        qName -
        Returns: