NodeNameComparator.java

  1. /*
  2.  * Copyright (C) 2003-2007 eXo Platform SAS.
  3.  *
  4.  * This program is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU Affero General Public License
  6.  * as published by the Free Software Foundation; either version 3
  7.  * of the License, or (at your option) any later version.
  8.  *
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, see<http://www.gnu.org/licenses/>.
  16.  */
  17. package org.exoplatform.ecm.webui.comparator;

  18. import java.util.Comparator;

  19. import javax.jcr.Node;


  20. public class NodeNameComparator implements Comparator<Node> {

  21.   public static final String ASCENDING_ORDER = "Ascending" ;
  22.   public static final String DESCENDING_ORDER = "Descending" ;
  23.   private String order_ ;

  24.   public NodeNameComparator(String pOrder) {
  25.     order_ = pOrder ;
  26.   }

  27.   public int compare(Node node1, Node node2) {
  28.     try{
  29.       String nodeName1 = node1.getName();
  30.       String nodeName2 = node2.getName();
  31.       if(order_.equals(ASCENDING_ORDER)) {
  32.         return nodeName1.compareToIgnoreCase(nodeName2) ;
  33.       }
  34.       return nodeName2.compareToIgnoreCase(nodeName1) ;
  35.     }catch (Exception e) {
  36.       return 0;
  37.     }
  38.   }
  39. }