By default, all MetaBundle s you get are organized in the Named Hierarchy , if a metadata inquiry with a given XPath failed at a MetaBundle, then it'll delegate the inquiry to its ancestor MetaBundles. And this hierarchy can further be extended programmaticlly, by setting the Super MetaBundle s, and finally you could lookup metadata up different pathes of MetaBundles, including the Java class inheritance path, or dependency pathes of your application components and modules.
The default hierarchy rule to organize MetaBundles.
To be more flexible, MetaBundles can have any number of Super Bundle s, they serve as backing sources of metadata in addition to ancestor MetaBundles.
Given a MetaBundle and its ancestor bundles, Near and Far Super bundles, metadata will be searched based on an algorithm.
An example extending the MetaBundle hierarchy to honor Java class inheritance.