站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JBoss 3.2.7 jaxrpc API Documentation 英文版文档

JavaWriter (JAXRPC API) - JBoss 3.2.7 jaxrpc API Documentation 英文版文档


org.apache.axis.wsdl.toJava
Class JavaWriter

java.lang.Object
  extended byorg.apache.axis.wsdl.toJava.JavaWriter
All Implemented Interfaces:
Generator
Direct Known Subclasses:
JavaClassWriter, JavaDeployWriter, JavaUndeployWriter

public abstract class JavaWriter
extends Object
implements Generator

Emitter knows about WSDL writers, one each for PortType, Binding, Service, Definition, Type. But for some of these WSDL types, Wsdl2java generates multiple files. Each of these files has a corresponding writer that extends JavaWriter. So the Java WSDL writers (JavaPortTypeWriter, JavaBindingWriter, etc.) each calls a file writer (JavaStubWriter, JavaSkelWriter, etc.) for each file that that WSDL generates.

For example, when Emitter calls JavaWriterFactory for a Binding Writer, it returns a JavaBindingWriter. JavaBindingWriter, in turn, contains a JavaStubWriter, JavaSkelWriter, and JavaImplWriter since a Binding may cause a stub, skeleton, and impl template to be generated.

Note that the writers that are given to Emitter by JavaWriterFactory DO NOT extend JavaWriter. They simply implement Writer and delegate the actual task of writing to extensions of JavaWriter.

All of Wsdl2java's Writer implementations follow a common behaviour. JavaWriter is the abstract base class that dictates this common behaviour. This behaviour is primarily placed within the generate method. The generate method calls, in succession (note: the starred methods are the ones you are probably most interested in):

* getFileName
This is an abstract method that must be implemented by the subclass. It returns the fully-qualified file name.
isFileGenerated(file)
You should not need to override this method. It checks to see whether this file is in the List returned by emitter.getGeneratedFileNames.
registerFile(file)
You should not need to override this method. It registers this file by calling emitter.getGeneratedFileInfo().add(...).
* verboseMessage(file)
You may override this method if you want to provide more information. The generate method only calls verboseMessage if verbose is turned on.
getPrintWriter(file)
You should not need to override this method. Given the file name, it creates a PrintWriter for it.
* writeFileHeader(pw)
You may want to override this method. The default implementation generates nothing.
* writeFileBody(pw)
This is an abstract method that must be implemented by the subclass. This is where the body of a file is generated.
* writeFileFooter(pw)
You may want to override this method. The default implementation generates nothing.
closePrintWriter(pw)
You should not need to override this method. It simply closes the PrintWriter.


Field Summary
protected  Emitter emitter
           
protected  String type
           
 
Constructor Summary
protected JavaWriter(Emitter emitter, String type)
          Constructor.
 
Method Summary
protected  void closePrintWriter(PrintWriter pw)
          Close the print writer.
 void generate()
          Generate a file.
protected abstract  String getFileName()
          This method must be implemented by a subclass.
protected  PrintWriter getPrintWriter(String filename)
          You should not need to override this method.
protected  boolean isFileGenerated(String file)
          You should not need to override this method.
protected  void registerFile(String file)
          You should not need to override this method.
protected  String verboseMessage(String file)
          Return the string: "Generating ".
protected  void writeComment(PrintWriter pw, Element element)
          Output a documentation element as a Java comment.
protected abstract  void writeFileBody(PrintWriter pw)
          This method must be implemented by a subclass.
protected  void writeFileFooter(PrintWriter pw)
          You may want to override this method.
protected  void writeFileHeader(PrintWriter pw)
          This method is intended to be overridden as necessary to generate file header information.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

emitter

protected Emitter emitter

type

protected String type
Constructor Detail

JavaWriter

protected JavaWriter(Emitter emitter,
                     String type)
Constructor.

Method Detail

generate

public void generate()
              throws IOException
Generate a file.

Specified by:
generate in interface Generator
Throws:
IOException

getFileName

protected abstract String getFileName()
This method must be implemented by a subclass. It returns the fully-qualified name of the file to be generated.


isFileGenerated

protected boolean isFileGenerated(String file)
You should not need to override this method. It checks to see whether the given file is in the List returned by emitter.getGeneratedFileNames.


registerFile

protected void registerFile(String file)
You should not need to override this method. It registers the given file by calling emitter.getGeneratedFileInfo().add(...).


verboseMessage

protected String verboseMessage(String file)
Return the string: "Generating ". Override this method if you want to provide more information.


getPrintWriter

protected PrintWriter getPrintWriter(String filename)
                              throws IOException
You should not need to override this method. Given the file name, it creates a PrintWriter for it.

Throws:
IOException

writeFileHeader

protected void writeFileHeader(PrintWriter pw)
                        throws IOException
This method is intended to be overridden as necessary to generate file header information. This default implementation does nothing.

Throws:
IOException

writeFileBody

protected abstract void writeFileBody(PrintWriter pw)
                               throws IOException
This method must be implemented by a subclass. This is where the body of a file is generated.

Throws:
IOException

writeFileFooter

protected void writeFileFooter(PrintWriter pw)
                        throws IOException
You may want to override this method. This default implementation generates nothing.

Throws:
IOException

closePrintWriter

protected void closePrintWriter(PrintWriter pw)
Close the print writer.


writeComment

protected void writeComment(PrintWriter pw,
                            Element element)
Output a documentation element as a Java comment.



Copyright © 2002 JBoss Group, LLC. All Rights Reserved.