/*
* $Id: AcessControlEntryComparator.java,v 1.1 2005/03/10 23:45:00 gummi Exp $
* Created on 10.3.2005
*
* Copyright (C) 2005 Idega Software hf. All Rights Reserved.
*
* This software is the proprietary information of Idega hf.
* Use is subject to license terms.
*/
package com.idega.slide.util;
import java.util.Comparator;
/**
*
* Last modified: $Date: 2005/03/10 23:45:00 $ by $Author: gummi $
*
* @author <a href="mailto:gummi@idega.com">Gudmundur Agust Saemundsson</a>
* @version $Revision: 1.1 $
*/
public class AcessControlEntryComparator implements Comparator<AccessControlEntry> {
/**
*
*/
public AcessControlEntryComparator() {
super();
}
/* (non-Javadoc)
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
*/
public int compare(AccessControlEntry o1, AccessControlEntry o2) {
int i1 = getPrincipalTypeOrderValue(o1);
int i2 = getPrincipalTypeOrderValue(o2);
if(i1==i2){
return 0;
} else if(i1>i2){
return 1;
} else {
return -1;
}
}
public int getPrincipalTypeOrderValue(AccessControlEntry ace){
int order = 0;
switch (ace.getPrincipalType()) {
case AccessControlEntry.PRINCIPAL_TYPE_STANDARD:
order=-1;
break;
case AccessControlEntry.PRINCIPAL_TYPE_ROLE:
order=-2;
break;
case AccessControlEntry.PRINCIPAL_TYPE_GROUP:
order=-3;
break;
case AccessControlEntry.PRINCIPAL_TYPE_USER:
order=-4;
break;
case AccessControlEntry.PRINCIPAL_TYPE_OTHER: //such as owner
order=-5;
break;
}
return order;
}
}