import java.util.*; /** * A folder-style box in a UML diagram. Packages can be rendered in two forms: * (1) as expandable boundaries around their contents; (2) using line segments * with hollow-diamond aggregation symbols to render contents in a tree-style * layout. *
* When a package diagram is rendered, the following layout algorithm is used: *
* (1) Find top-level components, i.e., UML diagram elements that are not * contained in any other component, or which are the top of an * intra-package inheritance hiearchy. *
* (2) Draw the top-level components in lexical order, vertically or * horizonatlly as determined by the value of a user-level layout setting *
* (3) Complete the drawing by recursively descending into the aggregation
* and inheritance hierchies that are below the top-level components.
*/
public class UMLPackage extends UMLDiagramElement {
/**
* List of the package's components, which are packages, classes, or
* operations.
*/
protected List