The tree adapter uses an expansion
strategy to identify whether objects should be loaded or not in
the tree model. An expansion strategy defines how an object is
going to behave when an expansion is requested, for example, when
the user opens a tree node by double-clicking or using the tree
expansion handles. The expansion strategy indicates whether load
on demand is implemented and provides methods to load and release
child nodes.
The tree adapter uses an expansion strategy factory to define the
expansion strategy for each tree node that it creates. The
default expansion strategy factory implementation (
IlpDefaultTreeExpansionStrategyFactory)
verifies the property
"expansion"
defined for each business object in the cascading style sheet
loaded in the component.
The default tree expansion strategy
factory supports three types of expansion strategies:
IN_PLACE
: loads the child objects on demand, as the user expands the
parent tree node. In this expansion strategy, tree nodes are
considered as parent nodes, only when they have containment
relationships defined in the attached data source, through the
IlpContainer interface. The child
objects should already be loaded in the data source, and
should be visible according to the data source filter, if
there is one defined.
IN_PLACE_MINIMAL_LOADING
: loads the child objects on demand, as the user expands the
parent tree node. All tree nodes with this expansion strategy
are considered as possible parent nodes, and therefore are
represented with an expansion icon. If the tree node does not
contain child objects, the expansion icon will disappear when
the expansion is executed for the first time.
NO_EXPANSION
: expansion is not supported by the tree node.