## Package org.plovr

The core of plovr.

See:
Description

Interface Summary
DiagnosticGroupRegistrar
JsInput: `JsInput` represents a JavaScript input to the Closure Compiler.

Class Summary
AbstractJsInput: `AbstractJsInput` provides the default logic for extracting `goog.provide()` and `goog.require()` information.
CoffeeFile: `CoffeeFile` represents a CoffeeScript source file on disk.
CoffeeScriptCompiler: Adapted from JCoffeeScriptCompiler.java in https://github.com/yeungda/jcoffeescript.
Compilation: `Compilation` represents a compilation performed by the Closure Compiler.
CompilationServer
CompilationUtil
CompileRequestHandler
CompilerPassFactory: `CompilerPassFactory` instantiates `CompilerPass`es using reflection, based on the class names that are provided to the "custom-passes" option in a plovr config.
Config
Config.Builder
ConfigOptionDocumentationGenerator: `ConfigOptionDocumentationGenerator` is a class that generates HTML documentation for `ConfigOption`.
ConfigParser: `ConfigParser` extracts a `Config` from a JSON config file.
ConfigPath: A represents an argument associated with the `paths` option in a plovr config.
CssHandler
CssHandler.ErrorManager
CustomPassConfig
CustomPassConfig.CustomPassConfigDeserializer: Unfortunately, `CustomPassConfig` needs a custom deserializer because "class" is a Java keyword, so having a getClass() setter that returns a String is problematic.
DiagnosticGroupUtil: `DiagnosticGroupUtil` is a hack to work around the fact that not everything that plovr needs from `DiagnosticGroups` is exposed via its public API.
FileUtil: `FileUtil` is a set of utilities for dealing with files.
GsonUtil: `GsonUtil` provides utilities for working with `Gson`.
HttpUtil
InputFileHandler: `InputFileHandler` serves the content of input files to a compilation.
JsInput.CodeWithEtag
JsInputComparator
JsSourceFile: `JsSourceFile` represents a JavaScript file.
ListHandler
LocalFileJsInput: `LocalFileJsInput` represents a JavaScript input to the Closure Compiler that can be read from a local file.
Manifest: `Manifest` represents an ordered list of JavaScript inputs to the Closure Compiler, along with a set of externs.
Md5Util: `Md5Util` provides a nice API for getting the MD5 hash of a string.
ModuleConfig
ModuleConfig.ModuleInfo
ModuleHandler
ModulesHandler: `ModulesHandler` provides a visualization of the modules as an SVG.
PlovrClosureCompiler: `PlovrClosureCompiler` subclasses `Compiler` so that its `PlovrClosureCompiler.getDiagnosticGroups()` method can be overridden to return a `PlovrDiagnosticGroups`, which is a `DiagnosticGroups` that can be modified from outside the com.google.javascript.jscomp package.
PlovrDiagnosticGroups
QueryData: `QueryData` represents the query parameters in a URI.
ResourceJsInput: `ResourceJsInput` represents a JavaScript file loaded from a JAR, so it will never change, so its dependencies must only be read once.
SoyFile: `JsSourceFile` represents a Soy file.
TestHandler

Enum Summary
CompilationMode: `CompilationMode` specifies the values for the "mode" parameter.
ConfigOption
Handler: `Handler` is an enumeration of `HttpHandler`s that are registered with the `CompilationServer`.

Exception Summary
CheckedCoffeeScriptCompilerException: `PlovrCoffeeScriptCompilerException` is a CoffeeScript exception that can generate a `JSError` that can be displayed for the user.
CheckedSoySyntaxException
CircularDependencyException
CoffeeScriptCompilerException: An exception thrown by the CoffeeScript compiler.
CompilationException: Base class for compilation errors.
MissingProvideException
ModuleConfig.BadDependencyTreeException
PlovrCoffeeScriptCompilerException: `PlovrCoffeeScriptCompilerException` is a wrapper for a `CoffeeScriptCompilerException` that contains information specific to plovr, such as the `JsInput` that was responsible for the exception.
PlovrSoySyntaxException: `PlovrSoySyntaxException` wraps a `SoySyntaxException` so that it can display a plovr-specific error message.

## Package org.plovr Description

The core of plovr.