The Java™ programming language compiler API is a set of interfaces that describes the
functions provided by a compiler. This API has three
main objectives:
- Allow invocation of a compiler from a program using
standardized interfaces.
- Provide interfaces enabling the compiler to report diagnostics in a
structured way.
- Provide interfaces enabling clients of the compiler to override
how file objects are found. "File objects" is a file
abstraction.