org.enhydra.zeus.util
Interface SourceGenerator

All Known Implementing Classes:
DTDSourceGenerator, XSDSourceGenerator

public interface SourceGenerator

This is a standalone "utility" interface. It allows source code generation from a set of XML constraints. It also allows for providing a standard set of methods that all utility source code generation classes should provide (at a minimum).

Author:
Brett McLaughlin

Method Summary
 void generate()
           This method performs class generation.
 void setCollapseSimpleElements(boolean collapseSimpleElements)
           This method allows the developer to specify that all simple XML elements (elements with #PCDATA content) should map to data members on parent member classes rather than their own classes.
 void setConstraintsInput(java.io.File file)
           This allows for supplying the constraints file to use for source code generation as a File.
 void setConstraintsInput(java.io.InputStream inputStream)
           This allows for supplying the constraints file to use for source code generation as an InputStream.
 void setConstraintsInput(java.io.Reader reader)
           This allows for supplying the constraints file to use for source code generation as a FileReader.
 void setConstraintsInput(java.lang.String fileURI)
           This allows for supplying the constraints file to use for source code generation as a String URI.
 void setGenerateAsSerializable(boolean generateAsSerializable)
           This will set whether or not to set source code classes as serializable (implementing java.io.Serializable.
 void setInterfacePackage(java.lang.String interfacePackage)
           Sets the Java package to generate new interfaces within.
 void setJavaPackage(java.lang.String javaPackage)
           This will set the package for generating classes within.
 void setNamePrefix(java.lang.String namePrefix)
           This method allows the developer to set a prefix that will be prepended to the name of every generated interface and class.
 void setOutputDir(java.io.File outputDir)
           This allows specification of an output directory for the generated classes.
 void setOutputDir(java.lang.String outputDir)
           This allows specification of an output directory for the generated classes.
 

Method Detail

setConstraintsInput

public void setConstraintsInput(java.lang.String fileURI)
                         throws java.io.IOException

This allows for supplying the constraints file to use for source code generation as a String URI.

Parameters:
fileURI - String URI for constraints file.
Throws:
IOException - - when the specified file URI is invalid.

setConstraintsInput

public void setConstraintsInput(java.io.File file)
                         throws java.io.IOException

This allows for supplying the constraints file to use for source code generation as a File.

Parameters:
file - File to read constraints from.
Throws:
IOException - - when the specified file URI is invalid.

setConstraintsInput

public void setConstraintsInput(java.io.Reader reader)

This allows for supplying the constraints file to use for source code generation as a FileReader.

Parameters:
reader - Reader to read constraints from.

setConstraintsInput

public void setConstraintsInput(java.io.InputStream inputStream)

This allows for supplying the constraints file to use for source code generation as an InputStream.

Parameters:
inputStream - InputStream to read constraints from.

setOutputDir

public void setOutputDir(java.lang.String outputDir)
                  throws java.io.IOException

This allows specification of an output directory for the generated classes.

Parameters:
outputDir - String specifying output directory for generated classes.

setOutputDir

public void setOutputDir(java.io.File outputDir)
                  throws java.io.IOException

This allows specification of an output directory for the generated classes.

Parameters:
outputDir - File specifying output directory for generated classes.

setJavaPackage

public void setJavaPackage(java.lang.String javaPackage)

This will set the package for generating classes within.

Parameters:
javaPackage - the package to generate classes within.

setInterfacePackage

public void setInterfacePackage(java.lang.String interfacePackage)

Sets the Java package to generate new interfaces within. For example, supplying the value com.foo.bar to this method and then generating classes, the interfaces would all be in the com.foo.bar package after generation.

Parameters:
interfacePackage - String the Java package to generate interfaces within.

setNamePrefix

public void setNamePrefix(java.lang.String namePrefix)

This method allows the developer to set a prefix that will be prepended to the name of every generated interface and class.

Parameters:
String - prefix that will be prepended to the name of every generated interface and class

setCollapseSimpleElements

public void setCollapseSimpleElements(boolean collapseSimpleElements)

This method allows the developer to specify that all simple XML elements (elements with #PCDATA content) should map to data members on parent member classes rather than their own classes.

Parameters:
collapseSimpleElements - true if simple elements should be collapsed

setGenerateAsSerializable

public void setGenerateAsSerializable(boolean generateAsSerializable)

This will set whether or not to set source code classes as serializable (implementing java.io.Serializable.

Parameters:
generateAsSerializable - boolean indicating whether to generate the source code as serializable.

generate

public void generate()
              throws java.io.IOException

This method performs class generation.

Throws:
IOException - - when class generation fails


Copyright © 2001 Enhydra. All Rights Reserved.