Class CmsSitemapNavPosCalculator

java.lang.Object
org.opencms.ade.sitemap.CmsSitemapNavPosCalculator

public class CmsSitemapNavPosCalculator extends Object
Helper class for recalculating navigation positions when a user has changed the order of navigation entries in the sitemap editor.

This is harder than it sounds because we need to handle special cases like e.g. the user inserting an entry between two existing entries with the same navigation position, which means we need to update the navigation positions of multiple entries to force the ordering which the user wanted.

  • Field Details

  • Constructor Details

    • CmsSitemapNavPosCalculator

      public CmsSitemapNavPosCalculator(List<CmsJspNavElement> navigation, CmsResource movedElement, int insertPosition)
      Creates a new sitemap navigation position calculator and performs the navigation position calculation for a given insertion operation.

      Parameters:
      navigation - the existing navigation element list
      movedElement - the resource which should be inserted
      insertPosition - the insertion position in the list
  • Method Details

    • getInsertPositionInResult

      Gets the insert position in the final result list.

      Returns:
      the insert position in the final result
    • getNavigationChanges

      Gets the changed navigation entries from the final result list.

      Returns:
      the changed navigation entries for the final result list
    • getResultList

      Gets the final result list.

      Returns:
      the final result list