Class PageSorter

java.lang.Object
org.apache.wiki.pages.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!

  • Field Summary

    Fields
    Modifier and Type Field Description
    protected static java.lang.String PROP_PAGE_NAME_COMPARATOR  
  • 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

    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
  • Field Details

  • Constructor Details

    • 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 Details

    • 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