## org.apache.axis.wsdl.toJava
Class JavaGeneratorFactory

    java.lang.Object
      org.apache.axis.wsdl.toJava.JavaGeneratorFactory

All Implemented Interfaces:
  GeneratorFactory

public class JavaGeneratorFactory
extends java.lang.Object
implements GeneratorFactory

This is Wsdl2java's implementation of the GeneratorFactory

Nested Class Summary
`protected class` `JavaGeneratorFactory.Writers` Class Writers

Field Summary
`protected JavaGeneratorFactory.Writers` `bindingWriters` Return Wsdl2java's JavaBindingWriter object.
`static java.lang.String` `COMPLEX_TYPE_FAULT` Field COMPLEX_TYPE_FAULT
`protected Emitter` `emitter` Field emitter
`static java.lang.String` `EXCEPTION_CLASS_NAME` Field EXCEPTION_CLASS_NAME
`static java.lang.String` `EXCEPTION_DATA_TYPE` Field EXCEPTION_DATA_TYPE
`protected JavaGeneratorFactory.Writers` `serviceWriters` Return Wsdl2java's JavaServiceWriter object.
`protected SymbolTable` `symbolTable` Field symbolTable

Constructor Summary
`JavaGeneratorFactory()` Default constructor.
`JavaGeneratorFactory(Emitter emitter)` Constructor JavaGeneratorFactory

Method Summary
`protected void` `addBindingGenerators()` Method addBindingGenerators
`protected void` `addDefinitionGenerators()` Method addDefinitionGenerators
`void` `addGenerator(java.lang.Class wsdlClass, java.lang.Class generator)` Method addGenerator
`protected void` `addMessageGenerators()` These addXXXGenerators are called by the constructor.
`protected void` `addPortTypeGenerators()` Method addPortTypeGenerators
`protected void` `addServiceGenerators()` Method addServiceGenerators
`protected void` `addTypeGenerators()` Method addTypeGenerators
`protected void` `constructSignatures(SymbolTable symbolTable)` Method constructSignatures
`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.
`protected void` `determineInterfaceNames(SymbolTable symbolTable)` Method determineInterfaceNames
`void` `generatorPass(javax.wsdl.Definition def, SymbolTable symbolTable)` Do the Wsdl2java generator pass: - resolve name clashes - construct signatures
`BaseTypeMapping` `getBaseTypeMapping()` Method getBaseTypeMapping
`protected java.lang.String` `getExceptionJavaNameHook(QName qname)`
`Generator` `getGenerator(javax.wsdl.Binding binding, SymbolTable symbolTable)` Method getGenerator
`Generator` `getGenerator(javax.wsdl.Definition definition, SymbolTable symbolTable)` Method getGenerator
`Generator` `getGenerator(javax.wsdl.Message message, SymbolTable symbolTable)` Method getGenerator
`Generator` `getGenerator(javax.wsdl.PortType portType, SymbolTable symbolTable)` Method getGenerator
`Generator` `getGenerator(javax.wsdl.Service service, SymbolTable symbolTable)` Method getGenerator
`Generator` `getGenerator(TypeEntry type, SymbolTable symbolTable)` Method getGenerator
`protected java.lang.String` `getOperationJavaNameHook(BindingEntry bEntry, java.lang.String wsdlOpName)`
`protected java.lang.String` `getParameterTypeJavaNameHook(BindingEntry bEntry, java.lang.String wsdlOpName, int pos)`
`protected java.lang.String` `getPortJavaNameHook(java.lang.String portName)`
`protected java.lang.String` `getReturnTypeJavaNameHook(BindingEntry bEntry, java.lang.String wsdlOpName)`
`protected java.lang.String` `getServiceEndpointInterfaceJavaNameHook(PortTypeEntry ptEntry, BindingEntry bEntry)`
`protected java.lang.String` `getServiceInterfaceJavaNameHook(ServiceEntry sEntry)`
`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.
`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.
`protected void` `javifyNames(SymbolTable symbolTable)` Fill in the names of each SymTabEntry with the javaified name.
`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.
`protected void` `resolveNameClashes(SymbolTable symbolTable)` Messages, PortTypes, Bindings, and Services can share the same name.
`protected void` `setAllReferencesToTrue()` The --all flag is set on the command line (or generateAll(true) is called on WSDL2Java).
`void` `setBaseTypeMapping(BaseTypeMapping btm)` Method setBaseTypeMapping
`void` `setEmitter(Emitter emitter)` Method setEmitter

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

### bindingWriters

    protected JavaGeneratorFactory.Writers bindingWriters

  Return Wsdl2java's JavaBindingWriter object.

### serviceWriters

    protected JavaGeneratorFactory.Writers serviceWriters

  Return Wsdl2java's JavaServiceWriter object.

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` -

### getGenerator

    public Generator getGenerator(javax.wsdl.Message message,
                                  SymbolTable symbolTable)

  Method getGenerator

  Specified by:
    `getGenerator` in interface `GeneratorFactory`
  Parameters:
    `message` -
    `symbolTable` -
  Returns:

### getGenerator

    public Generator getGenerator(javax.wsdl.PortType portType,
                                  SymbolTable symbolTable)

  Method getGenerator

  Specified by:
    `getGenerator` in interface `GeneratorFactory`
  Parameters:
    `portType` -
    `symbolTable` -
  Returns:

### getGenerator

    public Generator getGenerator(javax.wsdl.Binding binding,
                                  SymbolTable symbolTable)

  Method getGenerator

  Specified by:
    `getGenerator` in interface `GeneratorFactory`
  Parameters:
    `binding` -
    `symbolTable` -
  Returns:

### getGenerator

    public Generator getGenerator(javax.wsdl.Service service,
                                  SymbolTable symbolTable)

  Method getGenerator

  Specified by:
    `getGenerator` in interface `GeneratorFactory`
  Parameters:
    `service` -
    `symbolTable` -
  Returns:

### getGenerator

    public Generator getGenerator(TypeEntry type,
                                  SymbolTable symbolTable)

  Method getGenerator

  Specified by:
    `getGenerator` in interface `GeneratorFactory`
  Parameters:
    `type` -
    `symbolTable` -
  Returns:

### getGenerator

    public Generator getGenerator(javax.wsdl.Definition definition,
                                  SymbolTable symbolTable)

  Method getGenerator

  Specified by:
    `getGenerator` in interface `GeneratorFactory`
  Parameters:
    `definition` -
    `symbolTable` -
  Returns:

### 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` -

### setBaseTypeMapping

    public void setBaseTypeMapping(BaseTypeMapping btm)

  Method setBaseTypeMapping

  Specified by:
    `setBaseTypeMapping` in interface `GeneratorFactory`
  Parameters:
    `btm` -

### getBaseTypeMapping

    public BaseTypeMapping getBaseTypeMapping()

  Method getBaseTypeMapping

  Specified by:
    `getBaseTypeMapping` in interface `GeneratorFactory`
  Returns:

### 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:

Copyright © 2005 Apache Web Services Project. All Rights Reserved.