com.google.gwt.codegen.server

## Class JavaSourceWriterBuilder

- java.lang.Object
- - com.google.gwt.codegen.server.JavaSourceWriterBuilder

-     public class JavaSourceWriterBuilder
      extends java.lang.Object

  A builder for `JavaSourceWriter` instances.

  Experimental API - subject to change.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JavaSourceWriterBuilder(AbortablePrintWriter printWriter, java.lang.String packageName, java.lang.String className)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAnnotationDeclaration(java.lang.String declaration)` Add an class/interface annotation.
    `void` | `addImplementedInterface(java.lang.String intfName)` Add an implemented/extended interface.
    `void` | `addImport(java.lang.String typeName)` Add an import entry.
    `SourceWriter` | `createSourceWriter()` Creates an implementation of `JavaSourceWriter` that can be used to write the innards of a class.
    `java.lang.Iterable<java.lang.String>` | `getAnnotationDeclarations()` Get the annotations.
    `java.lang.String` | `getClassName()` Get the simple name of the class being created.
    `java.lang.String` | `getFullyQualifiedClassName()` Get the fully-qualified source name of the class being created.
    `java.lang.Iterable<java.lang.String>` | `getInterfaceNames()` Get the implemented/extended interfaces for the class being created.
    `java.lang.String` | `getPackageName()` Get the package of the class being created.
    `java.lang.String` | `getSuperclassName()` Get the superclass for the class being created.
    `void` | `makeInterface()` We are creating an interface instead of a class.
    `void` | `setJavaDocCommentForClass(java.lang.String comment)` Sets the java doc comment for `this`.
    `void` | `setSuperclass(java.lang.String superclassName)` Set the superclass of the class being created.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JavaSourceWriterBuilder

          public JavaSourceWriterBuilder(AbortablePrintWriter printWriter,
                                 java.lang.String packageName,
                                 java.lang.String className)

      Parameters:
        `printWriter` -
        `packageName` -
        `className` -

  - ### Method Detail

    - #### addAnnotationDeclaration

          public void addAnnotationDeclaration(java.lang.String declaration)

      Add an class/interface annotation.
      Parameters:
        `declaration` -

    - #### addImplementedInterface

          public void addImplementedInterface(java.lang.String intfName)

      Add an implemented/extended interface.
      Parameters:
        `intfName` -

    - #### addImport

          public void addImport(java.lang.String typeName)

      Add an import entry.
      Parameters:
        `typeName` - fully-qualified source name

    - #### createSourceWriter

          public SourceWriter createSourceWriter()

      Creates an implementation of `JavaSourceWriter` that can be used to write the innards of a class. Note that the subsequent changes to this factory do not affect the returned instance.
      Returns:
        a `JavaSourceWriter` instance
      Throws:
        `java.lang.RuntimeException` - If the settings on this factory are inconsistent or invalid

    - #### getAnnotationDeclarations

          public java.lang.Iterable<java.lang.String> getAnnotationDeclarations()

      Get the annotations.
      Returns:
        list of annotations

    - #### getClassName

          public java.lang.String getClassName()

      Get the simple name of the class being created.
      Returns:
        class name

    - #### getFullyQualifiedClassName

          public java.lang.String getFullyQualifiedClassName()

      Get the fully-qualified source name of the class being created.
      Returns:
        fqcn

    - #### getInterfaceNames

          public java.lang.Iterable<java.lang.String> getInterfaceNames()

      Get the implemented/extended interfaces for the class being created.
      Returns:
        list of interface names

    - #### getPackageName

          public java.lang.String getPackageName()

      Get the package of the class being created.
      Returns:
        package name

    - #### getSuperclassName

          public java.lang.String getSuperclassName()

      Get the superclass for the class being created.
      Returns:
        superclass name

    - #### makeInterface

          public void makeInterface()

      We are creating an interface instead of a class.

    - #### setJavaDocCommentForClass

          public void setJavaDocCommentForClass(java.lang.String comment)

      Sets the java doc comment for `this`.
      Parameters:
        `comment` - java doc comment.

    - #### setSuperclass

          public void setSuperclass(java.lang.String superclassName)

      Set the superclass of the class being created.
      Parameters:
        `superclassName` -