This package contains classes which provide the implementation of a qualified name, i.e. a name whiches lives in a hierarchical namespace. "Hierarchical" means that a name is visible in its own namespace and all children of this namespace. All objects in the root namespace (Namespace.ROOT_NAMESPACE) are visible in all other namespaces. All objects living in a namespace are contained in a QualifiedNameMap, which contains qualified names as key and the objects which are assigned to the name as values.

The keys in this map are objects of type QualifiedName. A QualifiedName consists of a Namespace (represented by a Namespace Object), and a name. Each QualifiedName must have a namespace, and a non-empty name.