# Package org.eigenbase.resgen

Interface Summary
Generator: A generator converts a set of resource definitions to a piece of code.
Resource: A `Resource` is a collection of messages for a particular software component and locale.
ResourceInstance: A `ResourceInstance` is an occurrence of a `ResourceDefinition` with a set of arguments.

Class Summary
AbstractGenerator: Abstract base for all generators.
AbstractJavaGenerator: Abstract base for all generators which generate Java code.
CppGenerator: Generates a C++ class containing resource definitions.
CppHeaderGenerator: Generates a C++ header file containing resource definitions.
FileTask: Abstract base class for an Ant task which processes a file containing resources.
JavaBaseGenerator: Generates a Java class for the base locale.
JavaFunctorBaseGenerator: Generates a Java class for the base locale, using the 'functor' code-generation style.
JavaLocaleGenerator: Generates a Java class for a locale.
PropertiesFileTask: Ant task which processes a properties file and generates a C++ or Java class from the resources in it.
ResourceDef: This model specifies the elements which make up a resource file.
ResourceDef.Code
ResourceDef.Exception: An exception defines a message which is issued in response to some invalid condition.
ResourceDef.Message: A message.
ResourceDef.Property
ResourceDef.Resource
ResourceDef.ResourceBundle: A ResourceBundle is a collection of resources.
ResourceDef.Text
ResourceDefinition: Definition of a resource such as a parameterized message or exception.
ResourceGen: `ResourceGen` parses an XML file containing error messages, and generates .java file to access the errors.
ResourceGenTask: A `ResourceGenTask` is an ANT task to invoke the Eigenbase Resource Generator.
ResourceGenTask.Include: `Include` implements <include> element nested within a <resgen> task (see `ResourceGenTask`).
ShadowResourceBundle: `ShadowResourceBundle` is an abstract base class for `ResourceBundle` classes which are backed by a properties file.
ShadowResourceBundle.MyPropertyResourceBundle
Util: Miscellaneous utility methods for the `org.eigenbase.resgen` package, all them `static` and package-private.
Util.DummyPrintStream: So we know to avoid recursively calling `Util.printStackTrace(Throwable,PrintStream)`.
Util.DummyPrintWriter: So we know to avoid recursively calling `Util.printStackTrace(Throwable,java.io.PrintWriter)`.
XmlFileTask: Ant task which processes an XML file and generates a C++ or Java class from the resources in it.