Package 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
Nested Classes Modifier and Type Class Description protected class
JavaGeneratorFactory.Writers
Class Writers
-
Field Summary
Fields Modifier and Type Field Description protected JavaGeneratorFactory.Writers
bindingWriters
Return Wsdl2java's JavaBindingWriter object.static java.lang.String
COMPLEX_TYPE_FAULT
Field COMPLEX_TYPE_FAULTprotected Emitter
emitter
Field emitterstatic java.lang.String
EXCEPTION_CLASS_NAME
Field EXCEPTION_CLASS_NAMEstatic java.lang.String
EXCEPTION_DATA_TYPE
Field EXCEPTION_DATA_TYPEprotected JavaGeneratorFactory.Writers
serviceWriters
Return Wsdl2java's JavaServiceWriter object.protected SymbolTable
symbolTable
Field symbolTable
-
Constructor Summary
Constructors Constructor Description JavaGeneratorFactory()
Default constructor.JavaGeneratorFactory(Emitter emitter)
Constructor JavaGeneratorFactory
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addBindingGenerators()
Method addBindingGeneratorsprotected void
addDefinitionGenerators()
Method addDefinitionGeneratorsvoid
addGenerator(java.lang.Class wsdlClass, java.lang.Class generator)
Method addGeneratorprotected void
addMessageGenerators()
These addXXXGenerators are called by the constructor.protected void
addPortTypeGenerators()
Method addPortTypeGeneratorsprotected void
addServiceGenerators()
Method addServiceGeneratorsprotected void
addTypeGenerators()
Method addTypeGeneratorsprotected void
constructSignatures(SymbolTable symbolTable)
Method constructSignaturesprotected 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 determineInterfaceNamesvoid
generatorPass(javax.wsdl.Definition def, SymbolTable symbolTable)
Do the Wsdl2java generator pass: - resolve name clashes - construct signaturesBaseTypeMapping
getBaseTypeMapping()
Method getBaseTypeMappingprotected java.lang.String
getExceptionJavaNameHook(QName qname)
Generator
getGenerator(javax.wsdl.Binding binding, SymbolTable symbolTable)
Method getGeneratorGenerator
getGenerator(javax.wsdl.Definition definition, SymbolTable symbolTable)
Method getGeneratorGenerator
getGenerator(javax.wsdl.Message message, SymbolTable symbolTable)
Method getGeneratorGenerator
getGenerator(javax.wsdl.PortType portType, SymbolTable symbolTable)
Method getGeneratorGenerator
getGenerator(javax.wsdl.Service service, SymbolTable symbolTable)
Method getGeneratorGenerator
getGenerator(TypeEntry type, SymbolTable symbolTable)
Method getGeneratorprotected 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 setBaseTypeMappingvoid
setEmitter(Emitter emitter)
Method setEmitter
-
-
-
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 interfaceGeneratorFactory
- Parameters:
def
-symbolTable
-
-
getGenerator
public Generator getGenerator(javax.wsdl.Message message, SymbolTable symbolTable)
Method getGenerator- Specified by:
getGenerator
in interfaceGeneratorFactory
- Parameters:
message
-symbolTable
-- Returns:
-
getGenerator
public Generator getGenerator(javax.wsdl.PortType portType, SymbolTable symbolTable)
Method getGenerator- Specified by:
getGenerator
in interfaceGeneratorFactory
- Parameters:
portType
-symbolTable
-- Returns:
-
getGenerator
public Generator getGenerator(javax.wsdl.Binding binding, SymbolTable symbolTable)
Method getGenerator- Specified by:
getGenerator
in interfaceGeneratorFactory
- Parameters:
binding
-symbolTable
-- Returns:
-
getGenerator
public Generator getGenerator(javax.wsdl.Service service, SymbolTable symbolTable)
Method getGenerator- Specified by:
getGenerator
in interfaceGeneratorFactory
- Parameters:
service
-symbolTable
-- Returns:
-
getGenerator
public Generator getGenerator(TypeEntry type, SymbolTable symbolTable)
Method getGenerator- Specified by:
getGenerator
in interfaceGeneratorFactory
- Parameters:
type
-symbolTable
-- Returns:
-
getGenerator
public Generator getGenerator(javax.wsdl.Definition definition, SymbolTable symbolTable)
Method getGenerator- Specified by:
getGenerator
in interfaceGeneratorFactory
- 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 interfaceGeneratorFactory
- Parameters:
btm
-
-
getBaseTypeMapping
public BaseTypeMapping getBaseTypeMapping()
Method getBaseTypeMapping- Specified by:
getBaseTypeMapping
in interfaceGeneratorFactory
- 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:
-
-