Interface INavigatorPipelineService


public interface INavigatorPipelineService
Performs calculations that are necessary to determine the correct children to render in the viewer.
Since:
3.2
See Also:
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Method Details

    • interceptAdd

      PipelinedShapeModification interceptAdd(PipelinedShapeModification anAddModification)
      Intercept attempts to add elements directly to the viewer.

      For content extensions that reshape the structure of children in a viewer, their overridden extensions may sometimes use optimized refreshes to add elements to the tree. These attempts must be intercepted and mapped to the correct set of model elements in the overriding extension. Clients may add, remove, or modify elements in the given set of added children. Clients should return a set for downstream extensions to massage further.

      Clients should not call any of the add, remove, refresh, or update methods on the viewer from this method or any code invoked by the implementation of this method.

      Parameters:
      anAddModification - The shape modification which contains the current suggested parent and children. Clients may modify this parameter directly and return it as the new shape modification.
      Returns:
      The new shape modification to use. Clients should never return null from this method.
    • interceptRemove

      PipelinedShapeModification interceptRemove(PipelinedShapeModification aRemoveModification)
      Intercept attempts to remove elements directly from the viewer.

      For content extensions that reshape the structure of children in a viewer, their overridden extensions may sometimes use optimized refreshes to remove elements to the tree. These attempts must be intercepted and mapped to the correct set of model elements in the overriding extension. Clients may add, remove, or modify elements in the given set of removed children. Clients should return a set for downstream extensions to massage further.

      Clients should not call any of the add, remove, refresh, or update methods on the viewer from this method or any code invoked by the implementation of this method.

      Parameters:
      aRemoveModification - The shape modification which contains the current suggested parent and children. Clients may modify this parameter directly and return it as the new shape modification.
      Returns:
      The new shape modification to use. Clients should never return null from this method.
    • interceptRefresh

      boolean interceptRefresh(PipelinedViewerUpdate aRefreshSynchronization)
      Intercept calls to viewer refresh() methods.

      Clients may modify the given update to add or remove the elements to be refreshed. Clients may return the same instance that was passed in for the next downstream extension.

      Clients should not call any of the add, remove, refresh, or update methods on the viewer from this method or any code invoked by the implementation of this method.

      Parameters:
      aRefreshSynchronization - The (current) refresh update to execute against the viewer.
      Returns:
      The (potentially reshaped) refresh to execute against the viewer.
    • interceptUpdate

      boolean interceptUpdate(PipelinedViewerUpdate anUpdateSynchronization)
      Intercept calls to viewer update() methods.

      Clients may modify the given update to add or remove the elements to be updated. Clients may also add or remove properties for the given targets to optimize the refresh. Clients may return the same instance that was passed in for the next downstream extension.

      Clients should not call any of the add, remove, refresh, or update methods on the viewer from this method or any code invoked by the implementation of this method.

      Parameters:
      anUpdateSynchronization - The (current) update to execute against the viewer.
      Returns:
      The (potentially reshaped) update to execute against the viewer.