com.sun.jdo.spi.persistence.utility.generator
Interface JavaFileWriter

All Known Implementing Classes:
IOJavaFileWriter

public interface JavaFileWriter

This interface can be used to describe a java source file. The resulting source definition can be viewed by calling Object.toString() or saved to a file by calling save(). The semantics of this interface are as follows: - Resource allocation is deferred to save - there is no need to worry about resource cleanup if an IOException is thrown from other methods (addImport, setPackage, addClass). - Any implementation of this interface must handle the closing of resources during save if an exception is thrown.

Use this interface in conjunction with one or more JavaClassWriter instances to describe the class(es) in a java file.

Author:
raccah

Method Summary
 void addClass(JavaClassWriter classWriter)
          Adds a class to this source file.
 void addImport(java.lang.String importName, java.lang.String[] comments)
          Adds an import statement for this source file.
 void save()
          Saves the file by writing out the source contents to whatever file (or alternate representation) was specified (usually by the constructor of the implementation class.
 void setPackage(java.lang.String packageName, java.lang.String[] comments)
          Sets the package for this file.
 

Method Detail

setPackage

void setPackage(java.lang.String packageName,
                java.lang.String[] comments)
                throws java.io.IOException
Sets the package for this file. Note that the package name format must be package style (that is - it can contain . but not / or $).

Parameters:
packageName - The name of the package for this source file.
comments - The comments shown just above the package statement. The comments are passed as an array so the line separators can be added by the implementation. Note that not all implementations will choose to make use of this comment.
Throws:
java.io.IOException - If the package cannot be set.

addImport

void addImport(java.lang.String importName,
               java.lang.String[] comments)
               throws java.io.IOException
Adds an import statement for this source file.

Parameters:
importName - Name of the class or package (including the *) to be imported. This string should not contain "import" or the ;
comments - The comments shown just above the import statement. The comments are passed as an array so the line separators can be added by the implementation. Note that not all implementations will choose to make use of this comment.
Throws:
java.io.IOException - If the import information cannot be added.

addClass

void addClass(JavaClassWriter classWriter)
              throws java.io.IOException
Adds a class to this source file.

Parameters:
classWriter - The definition of the class.
Throws:
java.io.IOException - If the class information cannot be added.

save

void save()
          throws java.io.IOException
Saves the file by writing out the source contents to whatever file (or alternate representation) was specified (usually by the constructor of the implementation class.

Throws:
java.io.IOException - If the file cannot be saved.


Copyright © 2012 GlassFish Community. All Rights Reserved.