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


Inner 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
 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  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  void javifyNames(SymbolTable symbolTable)
          Fill in the names of each SymTabEntry with the javaified name.
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 -  

determineInterfaceNames

protected void determineInterfaceNames(SymbolTable symbolTable)
Method determineInterfaceNames
Parameters:
symbolTable -  

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 -  

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:
 


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