The network adapter uses an expansion
strategy to identify whether objects should be loaded or not in
the network model. The expansion strategy defines how an object is
going to behave when it is expanded, for example, when the user
opens a network node by double-clicking or by using the network
expansion handles. The expansion strategy indicates whether load on
demand is implemented and provides methods to load and release
child nodes.
The network adapter uses an
expansion
strategy factory to decide the expansion strategy to apply to a
network node when it is created by the adapter. The default
expansion strategy factory implementation,
IlpDefaultNodeExpansionStrategyFactory,
checks the property
"expansion"
of each business object in the cascading style sheet loaded in the
component to identify the expansion strategy to use.
The default network expansion strategy
factory supports three types of expansion strategies:
IN_PLACE
: loads the child objects immediately in the network model. In
this expansion strategy, 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 in the network model, that
is, as the user expands the parent nodes. All nodes with this
expansion strategy are considered as possible parent nodes, and
therefore are represented with an expansion icon. If the 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 node.
The expansion strategy factory can be
customized for the adapter either through CSS or through the API.