资 源 简 介
Modular software development implies a distinction between interface and implementation. Java supports treating classes and packages as modules through its access modifiers. However, Java lacks such support for multi-package modules.
This project defines a convention for identifying multi-package modules in the form of capsules. A capsule is defined by a root package and an export keyword. An export keyword is an annotation type. A capsule consists of its root package and all descendant packages in the package tree. The exported elements of a capsule are the types and members in the capsule that are annotated with the capsule"s export keyword. A root package is associated with an export keyword using the @capsules.Capsule annotation.
The project offers tool support for capsules in the form of a static checker and a Javadoc doclet.
The static checker, given