org.eclipse.persistence.sessions.factories
Class ProjectClassGenerator

java.lang.Object
  extended by org.eclipse.persistence.sessions.factories.ProjectClassGenerator

public class ProjectClassGenerator
extends Object

Purpose: Allow for a class storing a TopLink project's descriptors (meta-data) to be generated. This class can then be used at runtime to deploy the TopLink descriptor's instead of XML files.

Since:
TopLink 3.0
Author:
James Sutherland

Constructor Summary
ProjectClassGenerator()
          PUBLIC: Create a new generator.
ProjectClassGenerator(Project project)
          PUBLIC: Create a new generator to output the project.
ProjectClassGenerator(Project project, String projectClassName, String fileName)
          PUBLIC: Create a new generator to output to the file.
ProjectClassGenerator(Project project, String projectClassName, Writer outputWriter)
          PUBLIC: Create a new generator to output to the writer.
 
Method Summary
 void generate()
          PUBLIC: Generate the project class, output the java source code to the stream or file.
 void generate(boolean useUnicode)
          PUBLIC: Generate the project class, output the java source code to the stream or file.
 String getClassName()
          PUBLIC: Return the name of class to be generated.
 String getOutputFileName()
          PUBLIC: Return the file name that the generate .java file will be output to.
 String getOutputPath()
          PUBLIC: Return the path that the generate .java file will be output to.
 Writer getOutputWriter()
          PUBLIC: Return the writer the output to.
 String getPackageName()
          PUBLIC: Return the package name of class to be generated.
 Project getProject()
          PUBLIC: Return the project to generate from.
 void setClassName(String newClassName)
          PUBLIC: Set the name of class to be generated.
 void setOutputFileName(String newOutputFileName)
          PUBLIC: Set the file name that the generate .java file will be output to.
 void setOutputPath(String newOutputPath)
          PUBLIC: Set the path that the generate .java file will be output to.
 void setOutputWriter(Writer outputWriter)
          PUBLIC: Set the writer the output to.
 void setPackageName(String newPackageName)
          PUBLIC: Set the package name of class to be generated.
 void setProject(Project newProject)
          PUBLIC: Set the project to generate from.
static void write(Project project, String projectClassName, String fileName)
          PUBLIC: Generate the source code to a project class to the project's descriptor into the file.
static void write(Project project, String projectClassName, Writer writer)
          PUBLIC: Generate the source code to a project class to the project's descriptor into the writer.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProjectClassGenerator

public ProjectClassGenerator()
PUBLIC: Create a new generator.


ProjectClassGenerator

public ProjectClassGenerator(Project project)
PUBLIC: Create a new generator to output the project.


ProjectClassGenerator

public ProjectClassGenerator(Project project,
                             String projectClassName,
                             Writer outputWriter)
PUBLIC: Create a new generator to output to the writer.


ProjectClassGenerator

public ProjectClassGenerator(Project project,
                             String projectClassName,
                             String fileName)
PUBLIC: Create a new generator to output to the file.

Method Detail

generate

public void generate(boolean useUnicode)
              throws ValidationException
PUBLIC: Generate the project class, output the java source code to the stream or file. useUnicode determines if unicode escaped characters for non_ASCII charaters will be used.

Throws:
ValidationException

generate

public void generate()
              throws ValidationException
PUBLIC: Generate the project class, output the java source code to the stream or file. Unicode escaped characters for non_ASCII charaters will be used.

Throws:
ValidationException

getClassName

public String getClassName()
PUBLIC: Return the name of class to be generated. This is the unqualified name.


getOutputFileName

public String getOutputFileName()
PUBLIC: Return the file name that the generate .java file will be output to.


getOutputPath

public String getOutputPath()
PUBLIC: Return the path that the generate .java file will be output to.


getOutputWriter

public Writer getOutputWriter()
PUBLIC: Return the writer the output to.


getPackageName

public String getPackageName()
PUBLIC: Return the package name of class to be generated.


getProject

public Project getProject()
PUBLIC: Return the project to generate from.


setClassName

public void setClassName(String newClassName)
PUBLIC: Set the name of class to be generated. This can be qualified or unqualified name and will set the file name to match.


setOutputFileName

public void setOutputFileName(String newOutputFileName)
PUBLIC: Set the file name that the generate .java file will be output to. If the file does not include .java it will be appended.


setOutputPath

public void setOutputPath(String newOutputPath)
PUBLIC: Set the path that the generate .java file will be output to.


setOutputWriter

public void setOutputWriter(Writer outputWriter)
PUBLIC: Set the writer the output to.


setPackageName

public void setPackageName(String newPackageName)
PUBLIC: Set the package name of class to be generated.


setProject

public void setProject(Project newProject)
PUBLIC: Set the project to generate from. All of the projects descriptors will be stored into the file.


write

public static void write(Project project,
                         String projectClassName,
                         Writer writer)
PUBLIC: Generate the source code to a project class to the project's descriptor into the writer.


write

public static void write(Project project,
                         String projectClassName,
                         String fileName)
PUBLIC: Generate the source code to a project class to the project's descriptor into the file.