com.google.appengine.tools.admin

## Class AppAdminFactory

- java.lang.Object
- - com.google.appengine.tools.admin.AppAdminFactory

-     public class AppAdminFactory
      extends java.lang.Object

  Creates a new `AppAdmin` for a designated App Engine application.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `AppAdminFactory.ApplicationProcessingOptions` Options used in preparing an application directory for upload.
    `static class` | `AppAdminFactory.ConnectOptions` The options used to connect to the remote App Engine administration server.
    `static interface` | `AppAdminFactory.PasswordPrompt` Callback that is invoked to prompt the user to enter a password.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AppAdminFactory()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `AppAdmin` | `createAppAdmin(AppAdminFactory.ConnectOptions options, Application app, java.io.PrintWriter errorWriter)` Creates a new `AppAdmin` that can be used to administer the designated App Engine application.
    `AppAdmin` | `createAppAdmin(AppAdminFactory.ConnectOptions options, com.google.appengine.tools.admin.GenericApplication app, java.io.PrintWriter errorWriter)` Creates a new `AppAdmin` that can be used to administer the designated App Engine application.
    `AppAdminFactory.ApplicationProcessingOptions` | `getAppOptions()`
    `java.lang.Class<? extends com.google.appengine.tools.admin.AppVersionUpload>` | `getAppVersionUploadClass()`
    `void` | `setAppVersionUploadClass(java.lang.Class<? extends com.google.appengine.tools.admin.AppVersionUpload> klass)` Sets the class used for uploading the application to the server.
    `void` | `setBatchMode(boolean flag)` Requests we do upload using batch *
    `void` | `setCompileEncoding(java.lang.String compileEncoding)` Sets the character encoding to use when compiling JSP files.
    `void` | `setCompileJsps(boolean flag)` Requests that *.jsp files should be compiled into Java byte code, or if false should be left untouched.
    `void` | `setDeleteJSPs(boolean deleteJSPs)` Deletes or not the JSPs source files.
    `void` | `setJarClassessEnabled(boolean doJarClasses)` Enables or disables jarring WEB-INF/classes content.
    `void` | `setJarJSPsEnabled(boolean doJarJSPs)` Enables or disables jarring classes generated from JSPs.
    `void` | `setJarSplittingEnabled(boolean doSplit)` Enables or disables jar splitting.
    `void` | `setJarSplittingExcludes(java.util.Set<java.lang.String> jarSplittingExcludeSuffixes)` Sets suffixes for files to exclude when performing jar splitting.
    `void` | `setJavaCompiler(java.io.File javac)` Specifies the location of a javac executable, used when compiling JSPs.
    `void` | `setJavaExecutable(java.io.File java)` Specifies the location of a java executable, used when compiling JSPs.

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

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

- - ### Constructor Detail

    - #### AppAdminFactory

          public AppAdminFactory()

  - ### Method Detail

    - #### createAppAdmin

          public AppAdmin createAppAdmin(AppAdminFactory.ConnectOptions options,
                                Application app,
                                java.io.PrintWriter errorWriter)

      Creates a new `AppAdmin` that can be used to administer the designated App Engine application.
      Parameters:
        `options` - The options used to connect to the remote server. Must not be `null`.
        `app` - The application to be administered. May be `null`.
        `errorWriter` - A writer to which error logs can be written. The logs can be used for diagnosis if a failure occurs during operation. May be `null`.
      Returns:
        a not `null` AppAdmin

    - #### createAppAdmin

          public AppAdmin createAppAdmin(AppAdminFactory.ConnectOptions options,
                                com.google.appengine.tools.admin.GenericApplication app,
                                java.io.PrintWriter errorWriter)

      Creates a new `AppAdmin` that can be used to administer the designated App Engine application.
      Parameters:
        `options` - The options used to connect to the remote server. Must not be `null`.
        `app` - The application to be administered. May be `null`.
        `errorWriter` - A writer to which error logs can be written. The logs can be used for diagnosis if a failure occurs during operation. May be `null`.
      Returns:
        a not `null` AppAdmin

    - #### getAppOptions

          public AppAdminFactory.ApplicationProcessingOptions getAppOptions()

    - #### getAppVersionUploadClass

          public java.lang.Class<? extends com.google.appengine.tools.admin.AppVersionUpload> getAppVersionUploadClass()

    - #### setAppVersionUploadClass

          public void setAppVersionUploadClass(java.lang.Class<? extends com.google.appengine.tools.admin.AppVersionUpload> klass)

      Sets the class used for uploading the application to the server. Should only be used for advanced customization of the upload process.

    - #### setJavaExecutable

          public void setJavaExecutable(java.io.File java)

      Specifies the location of a java executable, used when compiling JSPs. By default, the system property `java.home` is used to identify the currently-running JVM, and if that directory contains a file named `bin/java` (Unix) or `bin\\java.exe` (Windows), that is returned.
      Parameters:
        `java` - the Java executable to be used.

    - #### setJavaCompiler

          public void setJavaCompiler(java.io.File javac)

      Specifies the location of a javac executable, used when compiling JSPs. By default, the system property `java.home` is used to identify the currently-running JVM. If that pathname ends with "jre", then its parent is used instead as a hoped-for JDK root. If that directory contains a file named `bin/javac` (Unix) or `bin\\javac.exe` (Windows), that is returned.
      Parameters:
        `javac` - the Java compiler executable to be used.

    - #### setCompileJsps

          public void setCompileJsps(boolean flag)

      Requests that *.jsp files should be compiled into Java byte code, or if false should be left untouched.
      Parameters:
        `flag` - `true` to compile .jsp files

    - #### setBatchMode

          public void setBatchMode(boolean flag)

      Requests we do upload using batch *
      Parameters:
        `flag` - `true` to use batch mode for upload

    - #### setJarSplittingEnabled

          public void setJarSplittingEnabled(boolean doSplit)

      Enables or disables jar splitting.
      Parameters:
        `doSplit` - `false` to leave jars unsplit, and perhaps fail to upload due to large files, `true` to split into chunks of some uploadable size.

    - #### setJarJSPsEnabled

          public void setJarJSPsEnabled(boolean doJarJSPs)

      Enables or disables jarring classes generated from JSPs.
      Parameters:
        `doJarJSPs` - `true` to jar the generated classes from JSPs.

    - #### setJarClassessEnabled

          public void setJarClassessEnabled(boolean doJarClasses)

      Enables or disables jarring WEB-INF/classes content.
      Parameters:
        `doJarClasses` - `true` to jar the WEB-INF/classes content.

    - #### setDeleteJSPs

          public void setDeleteJSPs(boolean deleteJSPs)

      Deletes or not the JSPs source files.
      Parameters:
        `deleteJSPs` - `true` remove all JSPs source (not needed after compilation).

    - #### setJarSplittingExcludes

          public void setJarSplittingExcludes(java.util.Set<java.lang.String> jarSplittingExcludeSuffixes)

      Sets suffixes for files to exclude when performing jar splitting.
      Parameters:
        `jarSplittingExcludeSuffixes` - a set of filename suffixes to exclude when performing jar splitting.

    - #### setCompileEncoding

          public void setCompileEncoding(java.lang.String compileEncoding)

      Sets the character encoding to use when compiling JSP files.
      Throws:
        `java.lang.IllegalArgumentException` - If the specified encoding is illegal or not supported.