org.apache.geronimo.ews.jaxrpcmapping
Class J2eeGeneratorFactory

java.lang.Object
  extended byorg.apache.geronimo.ews.jaxrpcmapping.J2eeGeneratorFactory
All Implemented Interfaces:
org.apache.axis.wsdl.gen.GeneratorFactory
Direct Known Subclasses:
J2eeGeneratorFactory

public class J2eeGeneratorFactory
extends java.lang.Object
implements org.apache.axis.wsdl.gen.GeneratorFactory

This is WsdlToJ2ee's implementation of the GeneratorFactory

Author:
Ias (iasandcb@tmax.co.kr)

Nested Class Summary
protected  class J2eeGeneratorFactory.Writers
           
 
Field Summary
protected  J2eeGeneratorFactory.Writers bindingWriters
          Return Wsdl2java's JavaBindingWriter object.
protected  J2eeEmitter emitter
           
protected  J2eeGeneratorFactory.Writers serviceWriters
          Return Wsdl2java's JavaServiceWriter object.
protected  org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable
           
protected  J2eeGeneratorFactory.Writers typeWriters
          Return Wsdl2java's JavaTypeWriter object.
 
Constructor Summary
J2eeGeneratorFactory()
          Default constructor.
J2eeGeneratorFactory(J2eeEmitter emitter)
           
 
Method Summary
protected  void addBindingGenerators()
           
protected  void addDefinitionGenerators()
           
 void addGenerator(java.lang.Class wsdlClass, java.lang.Class generator)
           
protected  void addMessageGenerators()
          These addXXXGenerators are called by the constructor.
protected  void addPortTypeGenerators()
           
protected  void addServiceGenerators()
           
protected  void addTypeGenerators()
           
protected  void constructSignatures(org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
           
protected  void determineIfHoldersNeeded(org.apache.axis.wsdl.symbolTable.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(org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
           
 void generatorPass(javax.wsdl.Definition def, org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
          Do the Wsdl2java generator pass: - resolve name clashes - construct signatures
 org.apache.axis.wsdl.symbolTable.BaseTypeMapping getBaseTypeMapping()
           
 org.apache.axis.wsdl.gen.Generator getGenerator(javax.wsdl.Binding binding, org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
           
 org.apache.axis.wsdl.gen.Generator getGenerator(javax.wsdl.Definition definition, org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
           
 org.apache.axis.wsdl.gen.Generator getGenerator(javax.wsdl.Message message, org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
           
 org.apache.axis.wsdl.gen.Generator getGenerator(javax.wsdl.PortType portType, org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
           
 org.apache.axis.wsdl.gen.Generator getGenerator(javax.wsdl.Service service, org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
           
 org.apache.axis.wsdl.gen.Generator getGenerator(org.apache.axis.wsdl.symbolTable.TypeEntry type, org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
           
protected  void ignoreNonSOAPBindings(org.apache.axis.wsdl.symbolTable.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(org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
          Fill in the names of each SymTabEntry with the javaified name.
protected  int javifyTypeEntryName(org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable, org.apache.axis.wsdl.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(org.apache.axis.wsdl.symbolTable.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(org.apache.axis.wsdl.symbolTable.BaseTypeMapping btm)
           
 void setEmitter(J2eeEmitter emitter)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

emitter

protected J2eeEmitter emitter

symbolTable

protected org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable

bindingWriters

protected J2eeGeneratorFactory.Writers bindingWriters
Return Wsdl2java's JavaBindingWriter object.


serviceWriters

protected J2eeGeneratorFactory.Writers serviceWriters
Return Wsdl2java's JavaServiceWriter object.


typeWriters

protected J2eeGeneratorFactory.Writers typeWriters
Return Wsdl2java's JavaTypeWriter object.

Constructor Detail

J2eeGeneratorFactory

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


J2eeGeneratorFactory

public J2eeGeneratorFactory(J2eeEmitter emitter)
Method Detail

setEmitter

public void setEmitter(J2eeEmitter 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()

addBindingGenerators

protected void addBindingGenerators()

addServiceGenerators

protected void addServiceGenerators()

addTypeGenerators

protected void addTypeGenerators()

addDefinitionGenerators

protected void addDefinitionGenerators()

generatorPass

public void generatorPass(javax.wsdl.Definition def,
                          org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
Do the Wsdl2java generator pass: - resolve name clashes - construct signatures

Specified by:
generatorPass in interface org.apache.axis.wsdl.gen.GeneratorFactory

getGenerator

public org.apache.axis.wsdl.gen.Generator getGenerator(javax.wsdl.Message message,
                                                       org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
Specified by:
getGenerator in interface org.apache.axis.wsdl.gen.GeneratorFactory

getGenerator

public org.apache.axis.wsdl.gen.Generator getGenerator(javax.wsdl.PortType portType,
                                                       org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
Specified by:
getGenerator in interface org.apache.axis.wsdl.gen.GeneratorFactory

getGenerator

public org.apache.axis.wsdl.gen.Generator getGenerator(javax.wsdl.Binding binding,
                                                       org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
Specified by:
getGenerator in interface org.apache.axis.wsdl.gen.GeneratorFactory

getGenerator

public org.apache.axis.wsdl.gen.Generator getGenerator(javax.wsdl.Service service,
                                                       org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
Specified by:
getGenerator in interface org.apache.axis.wsdl.gen.GeneratorFactory

getGenerator

public org.apache.axis.wsdl.gen.Generator getGenerator(org.apache.axis.wsdl.symbolTable.TypeEntry type,
                                                       org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
Specified by:
getGenerator in interface org.apache.axis.wsdl.gen.GeneratorFactory

getGenerator

public org.apache.axis.wsdl.gen.Generator getGenerator(javax.wsdl.Definition definition,
                                                       org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
Specified by:
getGenerator in interface org.apache.axis.wsdl.gen.GeneratorFactory

addGenerator

public void addGenerator(java.lang.Class wsdlClass,
                         java.lang.Class generator)

javifyNames

protected void javifyNames(org.apache.axis.wsdl.symbolTable.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.


javifyTypeEntryName

protected int javifyTypeEntryName(org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable,
                                  org.apache.axis.wsdl.symbolTable.TypeEntry entry,
                                  java.util.HashMap anonQNames,
                                  int uniqueNum)
Refactored to call recursively for JAX-RPC 1.1 spec 4.2.5.


determineInterfaceNames

protected void determineInterfaceNames(org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)

resolveNameClashes

protected void resolveNameClashes(org.apache.axis.wsdl.symbolTable.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.


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(org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
If a binding's type is not TYPE_SOAP, then we don't use that binding or that binding's portType.


constructSignatures

protected void constructSignatures(org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)

determineIfHoldersNeeded

protected void determineIfHoldersNeeded(org.apache.axis.wsdl.symbolTable.SymbolTable symbolTable)
Find all inout/out parameters and add a flag to the Type of that parameter saying a holder is needed.


setBaseTypeMapping

public void setBaseTypeMapping(org.apache.axis.wsdl.symbolTable.BaseTypeMapping btm)
Specified by:
setBaseTypeMapping in interface org.apache.axis.wsdl.gen.GeneratorFactory

getBaseTypeMapping

public org.apache.axis.wsdl.symbolTable.BaseTypeMapping getBaseTypeMapping()
Specified by:
getBaseTypeMapping in interface org.apache.axis.wsdl.gen.GeneratorFactory


Copyright © 2003-2005 Apache Software Foundation. All Rights Reserved.