provides access to a hierarchy of descendant elements.
Subnodes are accessed by their name. Values that are direct or indirect
descendants of this tree node can be retrieved. Non-value subnodes can be
navigated using container interfaces.
Other interfaces provide access to information about this node.
Changes to values in the subtree can be monitored by event listeners.
Elements of this container that are not simple values
are similar containers themselves, thus (recursively) forming a
hierarchical tree.
Implementations of this service usually also implement
service HierarchyElement, which concerns the complementary role
of being accessible as an element of the hierarchy.
::com::sun::star::container::XNameAccess::getByName()
returns an any holding either a simple value or an interface
on another HierarchyAccess if the child is not a simple value.
Exact names can be obtained for simple or hierarchical names for use in
::com::sun::star::container::XNameAccess,
::com::sun::star::container::XHierarchicalNameAccess,
::com::sun::star::beans::XPropertySet or
any other interfaces that allow access to or manipulation of subnodes
selected by name or hierarchical name.
If an inexact name could be matched to either a simple or a hierachical
name, the simple (immediate child) name is preferred.
provides information about immediate children of this node. [optional]
This interface may be missing, if the hierarchy supports no traits that are
described by ::com::sun::star::beans::PropertyAttribute
values or if the same information is available by other means,
e.g. if the implementation supports
::com::sun::star::beans::XPropertySet::getPropertySetInfo().
If a child of this node is an object that implements
::com::sun::star::beans::XProperty, then this implementation
returns the same ::com::sun::star::beans::Property for that
child as the child itself.
provides access to the state of child elements of an implementation. [optional]
This interface may be missing if the hierarchy (or a hierarchy fragment
that contains this implementation as element) does not support default values or
if the node does not support accessing the default state of individual children.
If elements that are not simple values, but objects themselves, support
a default state (as indicated by
PropertyAttribute::MAYBEDEFAULT),
they should implement
::com::sun::star::beans::XPropertyWithState, in which case
the ::com::sun::star::beans::PropertyState applies to all
their children and recursively to all descendants.
If an implementation is part of a read-only view of the hierarchy,
attempts to change property states will fail.
provides access to the states of multiple child elements of
an implementation. [optional]
This interface may be missing if the hierarchy (or a hierarchy fragment
that contains this implementation as element) does not support default values
if the node does not support accessing the default state of individual children.
If elements that are not simple values, but objects themselves, support
a default state (as indicated by
PropertyAttribute::MAYBEDEFAULT),
they should implement
::com::sun::star::beans::XPropertyWithState, in which case
the ::com::sun::star::beans::PropertyState applies to all
their children and recursively to all descendants.
If an implementation is part of a read-only view of the hierarchy,
attempts to change property states will fail.