Class PageSorter

  • All Implemented Interfaces:
    java.util.Comparator<java.lang.String>

    public class PageSorter
    extends java.lang.Object
    implements java.util.Comparator<java.lang.String>
    Wrapper class for managing and using the PageNameComparator.

    Note - this class is deliberately not null safe. Never call any of the methods with a null argument!

    • Constructor Summary

      Constructors 
      Constructor Description
      PageSorter()
      Default constructor uses Java "natural" ordering.
      PageSorter​(java.util.Comparator<java.lang.String> comparator)
      Construct with a particular comparator.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int compare​(java.lang.String pageName1, java.lang.String pageName2)
      Compare two page names (String version).
      boolean equals​(java.lang.Object o)  
      void initialize​(java.util.Properties props)
      Called by Engine to initialise this instance.
      void sort​(java.lang.String[] nameArray)
      Sorts the specified array into ascending order based on the PageNameComparator.
      void sort​(java.util.List<java.lang.String> nameList)
      Sorts the specified list into ascending order based on the PageNameComparator.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Comparator

        reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
    • Constructor Detail

      • PageSorter

        public PageSorter()
        Default constructor uses Java "natural" ordering.
      • PageSorter

        public PageSorter​(java.util.Comparator<java.lang.String> comparator)
        Construct with a particular comparator.
        Parameters:
        comparator - the Comparator to use
    • Method Detail

      • compare

        public int compare​(java.lang.String pageName1,
                           java.lang.String pageName2)
        Compare two page names (String version).
        Specified by:
        compare in interface java.util.Comparator<java.lang.String>
        Parameters:
        pageName1 - the first page name
        pageName2 - the second page name
        Returns:
        see java.util.Comparator
        See Also:
        Comparator.compare(java.lang.Object, java.lang.Object)
      • equals

        public boolean equals​(java.lang.Object o)
        Specified by:
        equals in interface java.util.Comparator<java.lang.String>
        Overrides:
        equals in class java.lang.Object
      • initialize

        public void initialize​(java.util.Properties props)
        Called by Engine to initialise this instance. Tries to use class given by the PROP_PAGE_NAME_COMPARATOR property as the page name comparator. Uses a default comparator if this property is not set or there is any problem loading the specified class.
        Parameters:
        props - this Engine's properties.
      • sort

        public void sort​(java.util.List<java.lang.String> nameList)
        Sorts the specified list into ascending order based on the PageNameComparator. The actual sort is done using List.sort().
        Parameters:
        nameList - the page names to be sorted
      • sort

        public void sort​(java.lang.String[] nameArray)
        Sorts the specified array into ascending order based on the PageNameComparator. The actual sort is done using Arrays.sort().
        Parameters:
        nameArray - the page names to be sorted