org.apache.axis.wsdl.toJava
Class Emitter

java.lang.Object
  extended by org.apache.axis.wsdl.gen.Parser
      extended by org.apache.axis.wsdl.toJava.Emitter

public class Emitter
extends Parser

This class produces java files for stubs, skeletons, and types from a WSDL document.

Author:
Russell Butek (butek@us.ibm.com), Tom Jordahl (tjordahl@macromedia.com), Rich Scheuerle (scheu@us.ibm.com), Steve Graham (sggraham@us.ibm.com)

Field Summary
protected  BaseTypeMapping baseTypeMapping
          Field baseTypeMapping
static java.lang.String DEFAULT_NSTOPKG_FILE
          Field DEFAULT_NSTOPKG_FILE
protected  java.util.HashMap namespaceMap
          Field namespaceMap
protected  Namespaces namespaces
          Field namespaces
protected  java.util.List nsExcludes
          Field nsIncludes - defines a list of namespaces to specifically exclude from generated source code.
protected  java.util.List nsIncludes
          Field nsIncludes - defines a list of namespaces to specifically include in the generated source code.
protected  java.lang.String NStoPkgFilename
          Field NStoPkgFilename
protected  java.util.List properties
          Field properties - defines a set of general purpose properties that can be used by custom JavaGeneratorFactories.
protected  java.lang.String typeMappingVersion
          Field typeMappingVersion
 
Fields inherited from class org.apache.axis.wsdl.gen.Parser
debug, imports, nowrap, password, quiet, username, verbose, wrapArrays
 
Constructor Summary
Emitter()
          Default constructor.
 
Method Summary
 void debug(boolean value)
          Deprecated. Use setDebug(value)
 void deploySkeleton(boolean value)
          Deprecated. Use setSkeletonWanted(value)
protected  boolean doesExist(java.lang.String className)
          Check if the className exists.
 void emit(java.lang.String uri)
          Deprecated. Call run(uri) instead.
 void emit(java.lang.String context, org.w3c.dom.Document doc)
          Deprecated. Call run(context, doc) instead.
 void generateAll(boolean all)
          Deprecated. Use setAllWanted(all)
 void generateImports(boolean generateImports)
          Deprecated. Use setImports(generateImports)
 void generateServerSide(boolean value)
          Deprecated. Use setServerSide(value)
 void generateTestCase(boolean value)
          Deprecated. Use setTestCaseWanted()
 boolean getDebug()
          Deprecated. Use isDebug()
 TypeMapping getDefaultTypeMapping()
          Returns the default TypeMapping used by the service
 boolean getDeploySkeleton()
          Deprecated. Use isSkeletonWanted()
 java.util.List getGeneratedClassNames()
          This method returns a list of all generated class names.
 GeneratedFileInfo getGeneratedFileInfo()
          Returns an object which contains of information on all generated files including the class name, filename and a type string.
 java.util.List getGeneratedFileNames()
          This method returns a list of all generated file names.
 boolean getGenerateServerSide()
          Deprecated. Use isServerSide()
 boolean getHelperGeneration()
          Deprecated. Use isHelperWanted()
 java.lang.String getImplementationClassName()
          Get an implementation classname to use instead of the default.
 java.lang.String getJavaName(QName qName)
          Convert the specified QName into a full Java Name.
protected  java.lang.String getJavaNameHook(QName qname)
           
 java.lang.String getJavaVariableName(QName typeQName, QName xmlName, boolean isElement)
           
protected  java.lang.String getJavaVariableNameHook(QName typeQName, QName xmlName, boolean isElement)
           
 java.util.List getNamespaceExcludes()
          Returns the list of excludes to specifically exclude from the generated source.
 java.util.List getNamespaceIncludes()
          Returns the list of namespaces specifically excluded from the generated code.
 java.util.HashMap getNamespaceMap()
          Get the map of namespace -> Java package names
 Namespaces getNamespaces()
          Method getNamespaces
 java.lang.String getOutputDir()
          Get the output directory to use for emitted source files
 java.lang.String getPackage(QName qName)
          Get the Package name for the specified QName
 java.lang.String getPackage(java.lang.String namespace)
          Get the Package name for the specified namespace
 java.lang.String getPackageName()
          Get global package name to use instead of mapping namespaces
 java.util.List getProperties()
          Gets the list of extension properties for custom JavaGeneratorFactories.
 java.util.HashMap getQName2ClassMap()
          Get the type qname to java class map
 Scope getScope()
          Get the scope for the deploy.xml file.
 ServiceDesc getServiceDesc()
          Retruns the SericeDesc object
 java.lang.String getTypeMappingVersion()
          Get the typemapping version
 boolean getVerbose()
          Deprecated. Use isVerbose()
 GeneratorFactory getWriterFactory()
          Deprecated. Call getFactory instead. This doesn't return a WriterFactory, it returns a GeneratorFactory.
 boolean isAllowInvalidURL()
           
 boolean isAllWanted()
          Method isAllWanted
 boolean isBuildFileWanted()
          get the build file genaeration state
 boolean isDeploy()
          Returns the deploy mode flag
 boolean isHelperWanted()
          Indicate if we should be generating Helper classes
 boolean isServerSide()
          Indicate if we should be emitting server side code and deploy/undeploy
 boolean isSkeletonWanted()
          Indicate if we should be deploying skeleton or implementation
 boolean isTestCaseWanted()
          Method isTestCaseWanted
 boolean isTypeCollisionProtection()
          Get the type collision protection setting
 void run(java.lang.String wsdlURL)
          Emit appropriate Java files for a WSDL at a given URL.
 void run(java.lang.String context, org.w3c.dom.Document doc)
          Call this method if your WSDL document has already been parsed as an XML DOM document.
protected  void sanityCheck(SymbolTable symbolTable)
          Method sanityCheck
 void setAllowInvalidURL(boolean allowInvalidURL)
           
 void setAllWanted(boolean all)
          By default, code is generated only for referenced elements.
 void setBuildFileWanted(boolean value)
          turn the build file genaration ON
 void setDefaultTypeMapping(TypeMapping defaultTM)
          Sets the default TypeMapping used by the service
 void setDeploy(boolean isDeploy)
          Sets the deploy mode flag
 void setFactory(java.lang.String factory)
          Sets the WriterFactory Class to use
 void setHelperGeneration(boolean value)
          Deprecated. Use setHelperWanted(value)
 void setHelperWanted(boolean value)
          Turn on/off Helper class generation
 void setImplementationClassName(java.lang.String implementationClassName)
          Set an implementation classname to use instead of the default.
 void setNamespaceExcludes(java.util.List nsExcludes)
          Sets the list of namespaces to specifically exclude from the generated source.
 void setNamespaceIncludes(java.util.List nsIncludes)
          Sets the list of namespaces to specifically include in the generated code.
 void setNamespaceMap(java.util.HashMap map)
          Set a map of namespace -> Java package names
 void setNStoPkg(java.lang.String NStoPkgFilename)
          Set the NStoPkg mappings filename.
 void setOutputDir(java.lang.String outputDir)
          Set the output directory to use in emitted source files
 void setPackageName(java.lang.String packageName)
          Set a global package name to use instead of mapping namespaces
 void setProperties(java.util.List properties)
          Sets the list of extension properties for custom JavaGeneratorFactories.
 void setQName2ClassMap(java.util.HashMap map)
          Set the type qname to java class map
 void setScope(Scope scope)
          Set the scope for the deploy.xml file.
 void setServerSide(boolean value)
          Turn on/off server skeleton creation
 void setServiceDesc(ServiceDesc serviceDesc)
          Sets the ServicdDesc object
 void setSkeletonWanted(boolean value)
          Turn on/off server skeleton deploy
 void setTestCaseWanted(boolean value)
          Turn on/off test case creation
 void setTypeCollisionProtection(boolean value)
          Enable/disable type collision protection
 void setTypeMappingVersion(java.lang.String typeMappingVersion)
          Method setTypeMappingVersion
 void setWrapArrays(boolean wrapArrays)
           
 void verbose(boolean value)
          Deprecated. Use setVerbose(value)
 
Methods inherited from class org.apache.axis.wsdl.gen.Parser
getCurrentDefinition, getFactory, getPassword, getSymbolTable, getTimeout, getUsername, getWSDLURI, isDebug, isImports, isNowrap, isQuiet, isVerbose, setDebug, setFactory, setImports, setNowrap, setPassword, setQuiet, setTimeout, setUsername, setVerbose
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_NSTOPKG_FILE

public static final java.lang.String DEFAULT_NSTOPKG_FILE
Field DEFAULT_NSTOPKG_FILE

See Also:
Constant Field Values

namespaceMap

protected java.util.HashMap namespaceMap
Field namespaceMap


typeMappingVersion

protected java.lang.String typeMappingVersion
Field typeMappingVersion


baseTypeMapping

protected BaseTypeMapping baseTypeMapping
Field baseTypeMapping


namespaces

protected Namespaces namespaces
Field namespaces


NStoPkgFilename

protected java.lang.String NStoPkgFilename
Field NStoPkgFilename


nsIncludes

protected java.util.List nsIncludes
Field nsIncludes - defines a list of namespaces to specifically include in the generated source code. If non-empty, anything not in this list should be excluded. If empty, everything in this and not specifically excluded should be generated.


nsExcludes

protected java.util.List nsExcludes
Field nsIncludes - defines a list of namespaces to specifically exclude from generated source code. Any entry in this list that is in conflict with the includes list should be ignored and generated.


properties

protected java.util.List properties
Field properties - defines a set of general purpose properties that can be used by custom JavaGeneratorFactories.

Constructor Detail

Emitter

public Emitter()
Default constructor.

Method Detail

setServerSide

public void setServerSide(boolean value)
Turn on/off server skeleton creation

Parameters:
value -

isServerSide

public boolean isServerSide()
Indicate if we should be emitting server side code and deploy/undeploy

Returns:

setSkeletonWanted

public void setSkeletonWanted(boolean value)
Turn on/off server skeleton deploy

Parameters:
value -

isSkeletonWanted

public boolean isSkeletonWanted()
Indicate if we should be deploying skeleton or implementation

Returns:

setHelperWanted

public void setHelperWanted(boolean value)
Turn on/off Helper class generation

Parameters:
value -

isHelperWanted

public boolean isHelperWanted()
Indicate if we should be generating Helper classes

Returns:

setTestCaseWanted

public void setTestCaseWanted(boolean value)
Turn on/off test case creation

Parameters:
value -

isTestCaseWanted

public boolean isTestCaseWanted()
Method isTestCaseWanted

Returns:

isBuildFileWanted

public boolean isBuildFileWanted()
get the build file genaeration state

Returns:

setBuildFileWanted

public void setBuildFileWanted(boolean value)
turn the build file genaration ON

Parameters:
value -

setAllWanted

public void setAllWanted(boolean all)
By default, code is generated only for referenced elements. Call bGenerateAll(true) and WSDL2Java will generate code for all elements in the scope regardless of whether they are referenced. Scope means: by default, all WSDL files; if generateImports(false), then only the immediate WSDL file.

Parameters:
all -

isAllWanted

public boolean isAllWanted()
Method isAllWanted

Returns:

getNamespaces

public Namespaces getNamespaces()
Method getNamespaces

Returns:

setOutputDir

public void setOutputDir(java.lang.String outputDir)
Set the output directory to use in emitted source files

Parameters:
outputDir -

getOutputDir

public java.lang.String getOutputDir()
Get the output directory to use for emitted source files

Returns:

getPackageName

public java.lang.String getPackageName()
Get global package name to use instead of mapping namespaces

Returns:

setPackageName

public void setPackageName(java.lang.String packageName)
Set a global package name to use instead of mapping namespaces

Parameters:
packageName -

setScope

public void setScope(Scope scope)
Set the scope for the deploy.xml file.

Parameters:
scope - One of 'null', Scope.APPLICATION, Scope.REQUEST, Scope.SESSION. Anything else is equivalent to 'null' null and no explicit scope tag will appear in deploy.xml.

getScope

public Scope getScope()
Get the scope for the deploy.xml file.

Returns:

setNStoPkg

public void setNStoPkg(java.lang.String NStoPkgFilename)
Set the NStoPkg mappings filename.

Parameters:
NStoPkgFilename -

setNamespaceMap

public void setNamespaceMap(java.util.HashMap map)
Set a map of namespace -> Java package names

Parameters:
map -

getNamespaceMap

public java.util.HashMap getNamespaceMap()
Get the map of namespace -> Java package names

Returns:

setNamespaceIncludes

public void setNamespaceIncludes(java.util.List nsIncludes)
Sets the list of namespaces to specifically include in the generated code.


getNamespaceIncludes

public java.util.List getNamespaceIncludes()
Returns the list of namespaces specifically excluded from the generated code.


setNamespaceExcludes

public void setNamespaceExcludes(java.util.List nsExcludes)
Sets the list of namespaces to specifically exclude from the generated source.


getNamespaceExcludes

public java.util.List getNamespaceExcludes()
Returns the list of excludes to specifically exclude from the generated source.


setProperties

public void setProperties(java.util.List properties)
Sets the list of extension properties for custom JavaGeneratorFactories.


getProperties

public java.util.List getProperties()
Gets the list of extension properties for custom JavaGeneratorFactories.


getDefaultTypeMapping

public TypeMapping getDefaultTypeMapping()
Returns the default TypeMapping used by the service

Returns:
the default TypeMapping used by the service

setDefaultTypeMapping

public void setDefaultTypeMapping(TypeMapping defaultTM)
Sets the default TypeMapping used by the service

Parameters:
defaultTM - the default TypeMapping used by the service

setFactory

public void setFactory(java.lang.String factory)
Sets the WriterFactory Class to use

Parameters:
factory - the name of the factory Class

getGeneratedFileInfo

public GeneratedFileInfo getGeneratedFileInfo()
Returns an object which contains of information on all generated files including the class name, filename and a type string.

Returns:
An org.apache.axis.wsdl.toJava.GeneratedFileInfo object
See Also:
GeneratedFileInfo

getGeneratedClassNames

public java.util.List getGeneratedClassNames()
This method returns a list of all generated class names.

Returns:

getGeneratedFileNames

public java.util.List getGeneratedFileNames()
This method returns a list of all generated file names.

Returns:

getPackage

public java.lang.String getPackage(java.lang.String namespace)
Get the Package name for the specified namespace

Parameters:
namespace -
Returns:

getPackage

public java.lang.String getPackage(QName qName)
Get the Package name for the specified QName

Parameters:
qName -
Returns:

getJavaName

public java.lang.String getJavaName(QName qName)
Convert the specified QName into a full Java Name.

Parameters:
qName -
Returns:

getJavaNameHook

protected java.lang.String getJavaNameHook(QName qname)

getJavaVariableName

public java.lang.String getJavaVariableName(QName typeQName,
                                            QName xmlName,
                                            boolean isElement)
Parameters:
typeQName - QName for containing xml type
xmlName - QName for element
Returns:

getJavaVariableNameHook

protected java.lang.String getJavaVariableNameHook(QName typeQName,
                                                   QName xmlName,
                                                   boolean isElement)

run

public void run(java.lang.String wsdlURL)
         throws java.lang.Exception
Emit appropriate Java files for a WSDL at a given URL.

This method will time out after the number of milliseconds specified by our timeoutms member.

Overrides:
run in class Parser
Parameters:
wsdlURL -
Throws:
java.lang.Exception

run

public void run(java.lang.String context,
                org.w3c.dom.Document doc)
         throws java.io.IOException,
                org.xml.sax.SAXException,
                javax.wsdl.WSDLException,
                javax.xml.parsers.ParserConfigurationException
Call this method if your WSDL document has already been parsed as an XML DOM document.

Overrides:
run in class Parser
Parameters:
context - context This is directory context for the Document. If the Document were from file "/x/y/z.wsdl" then the context could be "/x/y" (even "/x/y/z.wsdl" would work). If context is null, then the context becomes the current directory.
doc - doc This is the XML Document containing the WSDL.
Throws:
java.io.IOException
org.xml.sax.SAXException
javax.wsdl.WSDLException
javax.xml.parsers.ParserConfigurationException

sanityCheck

protected void sanityCheck(SymbolTable symbolTable)
Method sanityCheck

Overrides:
sanityCheck in class Parser
Parameters:
symbolTable -

getTypeMappingVersion

public java.lang.String getTypeMappingVersion()
Get the typemapping version


setTypeMappingVersion

public void setTypeMappingVersion(java.lang.String typeMappingVersion)
Method setTypeMappingVersion

Parameters:
typeMappingVersion -

getWriterFactory

public GeneratorFactory getWriterFactory()
Deprecated. Call getFactory instead. This doesn't return a WriterFactory, it returns a GeneratorFactory.

Get the GeneratorFactory.

Returns:

emit

public void emit(java.lang.String uri)
          throws java.lang.Exception
Deprecated. Call run(uri) instead.

Call this method if you have a uri for the WSDL document

Parameters:
uri - wsdlURI the location of the WSDL file.
Throws:
java.lang.Exception

emit

public void emit(java.lang.String context,
                 org.w3c.dom.Document doc)
          throws java.io.IOException,
                 org.xml.sax.SAXException,
                 javax.wsdl.WSDLException,
                 javax.xml.parsers.ParserConfigurationException
Deprecated. Call run(context, doc) instead.

Call this method if your WSDL document has already been parsed as an XML DOM document.

Parameters:
context - context This is directory context for the Document. If the Document were from file "/x/y/z.wsdl" then the context could be "/x/y" (even "/x/y/z.wsdl" would work). If context is null, then the context becomes the current directory.
doc - doc This is the XML Document containing the WSDL.
Throws:
java.io.IOException
org.xml.sax.SAXException
javax.wsdl.WSDLException
javax.xml.parsers.ParserConfigurationException

generateServerSide

public void generateServerSide(boolean value)
Deprecated. Use setServerSide(value)

Turn on/off server-side binding generation

Parameters:
value -

getGenerateServerSide

public boolean getGenerateServerSide()
Deprecated. Use isServerSide()

Indicate if we should be emitting server side code and deploy/undeploy

Returns:

deploySkeleton

public void deploySkeleton(boolean value)
Deprecated. Use setSkeletonWanted(value)

Turn on/off server skeleton deploy

Parameters:
value -

getDeploySkeleton

public boolean getDeploySkeleton()
Deprecated. Use isSkeletonWanted()

Indicate if we should be deploying skeleton or implementation

Returns:

setHelperGeneration

public void setHelperGeneration(boolean value)
Deprecated. Use setHelperWanted(value)

Turn on/off Helper class generation

Parameters:
value -

getHelperGeneration

public boolean getHelperGeneration()
Deprecated. Use isHelperWanted()

Indicate if we should be generating Helper classes

Returns:

generateImports

public void generateImports(boolean generateImports)
Deprecated. Use setImports(generateImports)

Turn on/off generation of elements from imported files.

Parameters:
generateImports -

debug

public void debug(boolean value)
Deprecated. Use setDebug(value)

Turn on/off debug messages.

Parameters:
value -

getDebug

public boolean getDebug()
Deprecated. Use isDebug()

Return the status of the debug switch.

Returns:

verbose

public void verbose(boolean value)
Deprecated. Use setVerbose(value)

Turn on/off verbose messages

Parameters:
value -

getVerbose

public boolean getVerbose()
Deprecated. Use isVerbose()

Return the status of the verbose switch

Returns:

generateTestCase

public void generateTestCase(boolean value)
Deprecated. Use setTestCaseWanted()

Turn on/off test case creation

Parameters:
value -

generateAll

public void generateAll(boolean all)
Deprecated. Use setAllWanted(all)

Parameters:
all -

isTypeCollisionProtection

public boolean isTypeCollisionProtection()
Get the type collision protection setting

Returns:

setTypeCollisionProtection

public void setTypeCollisionProtection(boolean value)
Enable/disable type collision protection

Parameters:
value -

getImplementationClassName

public java.lang.String getImplementationClassName()
Get an implementation classname to use instead of the default.

Returns:

setImplementationClassName

public void setImplementationClassName(java.lang.String implementationClassName)
Set an implementation classname to use instead of the default.

Parameters:
implementationClassName -

isAllowInvalidURL

public boolean isAllowInvalidURL()
Returns:
Returns the allowInvalidURL.

setAllowInvalidURL

public void setAllowInvalidURL(boolean allowInvalidURL)
Parameters:
allowInvalidURL - The allowInvalidURL to set.

setQName2ClassMap

public void setQName2ClassMap(java.util.HashMap map)
Set the type qname to java class map

Parameters:
map - a type qname to javaclass map (from Java2Wsdl emitter)

getQName2ClassMap

public java.util.HashMap getQName2ClassMap()
Get the type qname to java class map

Returns:
the type qname to java class map

getServiceDesc

public ServiceDesc getServiceDesc()
Retruns the SericeDesc object

Returns:

setServiceDesc

public void setServiceDesc(ServiceDesc serviceDesc)
Sets the ServicdDesc object

Parameters:
serviceDesc - ServiceDesc to set

isDeploy

public boolean isDeploy()
Returns the deploy mode flag

Returns:

setDeploy

public void setDeploy(boolean isDeploy)
Sets the deploy mode flag

Parameters:
isDeploy - deploy mode flag

doesExist

protected boolean doesExist(java.lang.String className)
Check if the className exists.

Parameters:
className - className to check
Returns:
true if exists, false if not

setWrapArrays

public void setWrapArrays(boolean wrapArrays)


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