## org.eclipse.jet.compiler
Class JET2CompilationUnit

    java.lang.Object
      org.eclipse.jet.compiler.JET2ASTElement
          org.eclipse.jet.compiler.JET2CompilationUnit

    public final class JET2CompilationUnit

extends JET2ASTElement

Represent a compilation unit (a template) in the JET2 AST.

Constructor Summary
`JET2CompilationUnit()`
`JET2CompilationUnit(org.eclipse.core.resources.IFile file)`

Method Summary
`void` `accept(JET2ASTVisitor visitor)` Visit the AST and its contained elements.
`void` `addImports(java.util.List list)`
`void` `createProblem(org.eclipse.jet.internal.parser.ParseProblemSeverity error, int problemId, java.lang.String message, java.lang.Object[] messageArgs, int start, int end, int line, int colOffset)` Create a new problem on the compilation unit
`java.util.List` `getBodyElements()` Return a `List` of JET2 AST element (@link JET2ASTElement} instances.
`java.util.Set` `getImports()`
`java.lang.String` `getOutputJavaClassName()` Return the unqualified name of the Java class into which the compilation unit will be compiled.
`java.lang.String` `getOutputJavaPackage()` Return the name of the Java package to which the compilation unit will be compiled.
`java.util.List` `getProblems()` Return a list of problems discovered in the compilation unit
`TagLibraryReference[]` `getTagLibraryReferences()` Return an array of tag libraries referenced by this template.
`boolean` `hasErrors()` Test if the compilation unit has any errors
`boolean` `hasWarnings()` Test if the compilation unit has any warnings
`void` `parse()`
`void` `parse(java.io.InputStream contents, java.lang.String charset)`
`void` `parse(java.lang.String document)`
`boolean` `removeLineWhenOtherwiseEmpty()` Indicate whether the the surrounding whitespace, including the trailing new line should be removed from the template output.
`void` `setOutputJavaClassName(java.lang.String outputJavaClassName)` Set the unqualifeid name of the Java class into which the compilation unit will be compiled.
`void` `setOutputJavaPackage(java.lang.String outputJavaPackage)` Set the Java package into which the compilation unit will be compiled.
`void` `setPredefinedTagLibraries(java.util.Map predefinedLibraryMap)` Define tag library prefixes (and associated tag library ids) that are automatically available to the transform.

Methods inherited from class org.eclipse.jet.compiler.JET2ASTElement
`getColumn, getEnd, getLine, getNextElement, getParent, getPrevElement, getStart`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### JET2CompilationUnit

    public JET2CompilationUnit()

### JET2CompilationUnit

    public JET2CompilationUnit(org.eclipse.core.resources.IFile file)

Method Detail

### setPredefinedTagLibraries

    public void setPredefinedTagLibraries(java.util.Map predefinedLibraryMap)

  Define tag library prefixes (and associated tag library ids) that are automatically available to the transform.

  Parameters:
    `predefinedLibraryMap` - a map from prefix to tag library id.

### parse

    public void parse(java.lang.String document)

### parse

    public void parse()
               throws org.eclipse.core.runtime.CoreException

  Throws:
    `org.eclipse.core.runtime.CoreException`

### parse

    public void parse(java.io.InputStream contents,
                      java.lang.String charset)

### getBodyElements

    public final java.util.List getBodyElements()

  Return a `List` of JET2 AST element (@link JET2ASTElement} instances.

  Returns:
    a List. The empty list of there are no body elements.

### accept

    public void accept(JET2ASTVisitor visitor)

  Description copied from class: `JET2ASTElement`
  Visit the AST and its contained elements.

  Specified by:
    `accept` in class `JET2ASTElement`
  See Also:
    `JET2ASTElement.accept(org.eclipse.jet.compiler.JET2ASTVisitor)`

### getProblems

    public java.util.List getProblems()

  Return a list of problems discovered in the compilation unit

  Returns:
    a List of `Problem` objects. The empty list is returned if no problems were found.

### hasErrors

    public boolean hasErrors()

  Test if the compilation unit has any errors

  Returns:
    `true` if the compilation unit had errors, `false` otherwise.

### hasWarnings

    public boolean hasWarnings()

  Test if the compilation unit has any warnings

  Returns:
    `true` if the compilation unit had warnings, `false` otherwise.

### createProblem

    public void createProblem(org.eclipse.jet.internal.parser.ParseProblemSeverity error,
                              int problemId,
                              java.lang.String message,
                              java.lang.Object[] messageArgs,
                              int start,
                              int end,
                              int line,
                              int colOffset)

  Create a new problem on the compilation unit

  Parameters:
    `error` - the severity of the problem
    `problemId` - the problem id. A value from `Problem` static files
    `message` - an error message, with optional replacement tokens
    `messageArgs` - the error message arguments
    `start` - the start offset of the problem (doc relative)
    `end` - the end offset of the problem (doc relative)
    `line` - the line number of the problem (1 based)
    `colOffset` - TODO

### getOutputJavaPackage

    public java.lang.String getOutputJavaPackage()

  Return the name of the Java package to which the compilation unit will be compiled.

  Returns:
    a string

### getOutputJavaClassName

    public java.lang.String getOutputJavaClassName()

  Return the unqualified name of the Java class into which the compilation unit will be compiled.

  Returns:
    Returns the outputJavaClassName.

### setOutputJavaClassName

    public void setOutputJavaClassName(java.lang.String outputJavaClassName)

  Set the unqualifeid name of the Java class into which the compilation unit will be compiled.

  Parameters:
    `outputJavaClassName` - The outputJavaClassName to set.

### setOutputJavaPackage

    public void setOutputJavaPackage(java.lang.String outputJavaPackage)

  Set the Java package into which the compilation unit will be compiled.

  Parameters:
    `outputJavaPackage` - The outputJavaPackage to set.

### removeLineWhenOtherwiseEmpty

    public boolean removeLineWhenOtherwiseEmpty()

  Description copied from class: `JET2ASTElement`
  Indicate whether the the surrounding whitespace, including the trailing new line should be removed from the template output. In general, elements that create output should return `false`, while element that do should should return `true`.

  Specified by:
    `removeLineWhenOtherwiseEmpty` in class `JET2ASTElement`
  Returns:
    `true` if the containing line should be removed if otherwise empty.

### getTagLibraryReferences

    public TagLibraryReference[] getTagLibraryReferences()

  Return an array of tag libraries referenced by this template.

  Returns:
    a possibly empty array of tag library references.

### addImports

    public void addImports(java.util.List list)

### getImports

    public java.util.Set getImports()

Copyright 2006 IBM Corporation and others. All Rights Reserved.