diff options
author | Zenexer <Zenexer@e251c2fe-e539-e718-e476-b85c1f46cddb> | 2011-03-30 04:03:21 +0000 |
---|---|---|
committer | Zenexer <Zenexer@e251c2fe-e539-e718-e476-b85c1f46cddb> | 2011-03-30 04:03:21 +0000 |
commit | cb21bc4d7a67f0974c2773fdd0f5376f177c068e (patch) | |
tree | f1584fe391f77c648a1d7d25385ef16229b756de /EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java | |
download | Essentials-cb21bc4d7a67f0974c2773fdd0f5376f177c068e.tar Essentials-cb21bc4d7a67f0974c2773fdd0f5376f177c068e.tar.gz Essentials-cb21bc4d7a67f0974c2773fdd0f5376f177c068e.tar.lz Essentials-cb21bc4d7a67f0974c2773fdd0f5376f177c068e.tar.xz Essentials-cb21bc4d7a67f0974c2773fdd0f5376f177c068e.zip |
2.1 prerelease, part 2 of 3
git-svn-id: https://svn.java.net/svn/essentials~svn/trunk2.1@1015 e251c2fe-e539-e718-e476-b85c1f46cddb
Diffstat (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java')
-rw-r--r-- | EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java | 50 |
1 files changed, 50 insertions, 0 deletions
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..2e192118d --- /dev/null +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java @@ -0,0 +1,50 @@ +/* + * 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<String> { + + @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; + } + +} |