Expansion strategy

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.
See Customizing the expansion of business objects in the Styling documentation for information on how to customize the business object expansion type, which is defined by the property expansion .
The expansion strategy factory can be customized for the adapter either through CSS or through the API.