/*
 * Created on 21-Feb-2005
 */
package org.bodington.servlet.facilities;

import java.util.HashSet;
import java.util.Iterator;

import org.bodington.server.realm.Group;
import org.bodington.server.realm.User;

/**
 * @author buckett
 */
public class AclUserResourcePermission extends AclResourcePermission
{
    
    private User user;
    private HashSet groups = new HashSet();

    /* (non-Javadoc)
     * @see org.bodington.servlet.facilities.AclResourcePermission#getUser()
     */
    public User getUser()
    {
        return user;
    }
    
    public void setUser(User user) {
        this.user = user;
    }
    

    /* (non-Javadoc)
     * @see org.bodington.servlet.facilities.AclResourcePermission#getGroups()
     */
    public Iterator getGroups()
    {
        return this.groups.iterator();
    }
    
    public void addGroup(Group group)
    {
        this.groups.add(group);
    }

    
    /**
     * Compare the user names. 
     */
    public int compareTo(Object other)
    {
        if (other instanceof AclUserResourcePermission)
        {
            return ((AclUserResourcePermission) other)
                .getUser()
                .getName()
                .compareTo(getUser().getName());
        }
        else
        {
            return super.compareTo((AclResourcePermission)other);
        }
    }

}
