The information on these pages may be out of date, or may refer to
resources that have moved or have been made read-only.
For more information please refer to the Apache Attic
This section is inspired by, and derived from, the Eclipse™ package naming convention documentation.
The Harmony class library code is organized into Java packages comprising the
public API (packages such as
and so on) and internal implementation packages that all begin
The public APIs are defined by the JSE specification, and as such as managed beyond the direct control of the Apache Harmony project. The other packages are managed by the project development team, and as such the project attributes the following meaning to package names.
Each Java package is owned by a specific module of the Harmony class library.
The module name immediately follows the
Modules are free to use whatever package names they choose with the
The following package name segments are reserved to indicate the meanings defined below:
In practice, this means that module developers are free to change the code within an
internal package without expecting any consequences beyond the module
itself. However, module developers who modify code that is not in an
internal package must do so in a manner that ensures
Java binary compatibility