/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.anjocaido.groupmanager.utils; import java.util.Comparator; /** * * @author gabrielcouto */ public class StringPermissionComparator implements Comparator { @Override public int compare(String permA, String permB) { boolean ap = permA.startsWith("+"); boolean bp = permB.startsWith("+"); boolean am = permA.startsWith("-"); boolean bm = permB.startsWith("-"); if(ap&&bp){ return 0; } if(ap&&!bp){ return -1; } if(!ap&&bp){ return 1; } if(am&&bm){ return 0; } if(am&&!bm){ return -1; } if(!am&&bm){ return 1; } return permA.compareToIgnoreCase(permB); } private static StringPermissionComparator instance; public static StringPermissionComparator getInstance(){ if(instance==null){ instance = new StringPermissionComparator(); } return instance; } }