org.enhydra.zeus.util
Class BaseSourceGenerator

java.lang.Object
  |
  +--org.enhydra.zeus.util.BaseSourceGenerator
Direct Known Subclasses:
DTDSourceGenerator, XSDSourceGenerator

public abstract class BaseSourceGenerator
extends java.lang.Object

This provides basic functionality for classes that need to implement the SourceGenerator interface.

Author:
Brett McLaughlin

Field Summary
protected  boolean collapseSimpleElements
          Whether or not to collapse simple elements
protected  java.io.Reader constraintsReader
          The reader for reading constraints from
protected  boolean ignoreIDAttributes
          Whether or not to ignore ID attributes
protected  java.lang.String javaPackage
          The package to generate classes within
protected  java.io.File outputDir
          The directory to output classes to
 
Constructor Summary
BaseSourceGenerator()
           This sets up defaults for the generator.
 
Method Summary
 void generate()
           This method performs class generation.
protected abstract  java.util.List getConstraintBindings()
           This defines a contract for subclasses to allow them to get the Zeus Binding objects to generate code from.
protected  Generator getGenerator()
           This handles the process of creating a Generator for use in data binding.
 void setCollapseSimpleElements(boolean collapseSimpleElements)
           This sets whether or not to collapse simple elements.
 void setCollapseSimpleElements(boolean collapseSimpleElements, boolean ignoreIDAttributes)
           This sets whether or not to collapse simple elements.
 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 setJavaPackage(java.lang.String javaPackage)
           This will set the package for generating classes within.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

constraintsReader

protected java.io.Reader constraintsReader
The reader for reading constraints from

outputDir

protected java.io.File outputDir
The directory to output classes to

javaPackage

protected java.lang.String javaPackage
The package to generate classes within

collapseSimpleElements

protected boolean collapseSimpleElements
Whether or not to collapse simple elements

ignoreIDAttributes

protected boolean ignoreIDAttributes
Whether or not to ignore ID attributes
Constructor Detail

BaseSourceGenerator

public BaseSourceGenerator()

This sets up defaults for the generator.

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:
outputDirString - String specifying output directory for generated classes.
Throws:
IOException - - when invalid direcotory is specified

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.
Throws:
IOException - - when invalid direcotory is specified

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.

setCollapseSimpleElements

public void setCollapseSimpleElements(boolean collapseSimpleElements)

This sets whether or not to collapse simple elements. By default, simple elements are not collapsed. By default, ID attributes are not ignored in this determination.

Parameters:
collapseSimpleElements - whether or not to collapse simple elements.

setCollapseSimpleElements

public void setCollapseSimpleElements(boolean collapseSimpleElements,
                                      boolean ignoreIDAttributes)

This sets whether or not to collapse simple elements. By default, simple elements are not collapsed. It also allows specification of whether ID attributes should be ignored when making a determination if an element is simple.

Parameters:
collapseSimpleElements - whether or not to collapse simple elements.
ignoreIDAttributes - whether or not to ignore ID attributes.

generate

public void generate()
              throws java.io.IOException,
                     ZeusException

This method performs class generation.

Throws:
IOException - - when class generation fails
ZeusException - - when class generation fails.

getConstraintBindings

protected abstract java.util.List getConstraintBindings()
                                                 throws java.io.IOException

This defines a contract for subclasses to allow them to get the Zeus Binding objects to generate code from.

Returns:
List - a list of the Binding objects to generate code from.
Throws:
IOException - - when binding creation fails

getGenerator

protected Generator getGenerator()

This handles the process of creating a Generator for use in data binding.

This version returns a basic SimpleGenerator, but other Generator implementations can be used by overriding this method.

Returns:
Generator - the Generator to use.


Copyright © 2002 Enhydra. All Rights Reserved.