From eb7cedd6fd5dae2353bdd47b2ce09942460fd8a6 Mon Sep 17 00:00:00 2001 From: Iaccidentally Date: Fri, 11 Jan 2013 19:59:22 -0500 Subject: Revert "Remove GM from 3.0" This reverts commit a4c93fef05493e6210e8d3d72af7b6d492f4e121. --- .../utils/StringPermissionComparator.java | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java new file mode 100644 index 000000000..5a56cd9fc --- /dev/null +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java @@ -0,0 +1,52 @@ +/* + * 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; + } +} -- cgit v1.2.3