Class CmsSitemapNavPosCalculator


  • public class CmsSitemapNavPosCalculator
    extends java.lang.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 Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DUMMY_PATH
      Dummy file name for the inserted dummy navigation element.
    • Constructor Summary

      Constructors 
      Constructor Description
      CmsSitemapNavPosCalculator​(java.util.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.
    • Field Detail

    • Constructor Detail

      • CmsSitemapNavPosCalculator

        public CmsSitemapNavPosCalculator​(java.util.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 Detail

      • getInsertPositionInResult

        public int getInsertPositionInResult()
        Gets the insert position in the final result list.

        Returns:
        the insert position in the final result
      • getNavigationChanges

        public java.util.List<CmsJspNavElementgetNavigationChanges()
        Gets the changed navigation entries from the final result list.

        Returns:
        the changed navigation entries for the final result list