001 /** GroupClass 002 * A class that handles a single user group. 003 * @author Daniel Fredriksson 004 * @version 0.1 005 * 006 */ 007 008 package sharpster.daemon.groupmanagement; 009 010 import java.util.LinkedList; 011 012 public class GroupClass { 013 014 /** The name of the group. */ 015 private String name; 016 /** A list containing the users of the group. */ 017 private LinkedList users; 018 019 /** Creates the class and initialize the user list. */ 020 public GroupClass() { 021 users = new LinkedList(); 022 } 023 024 /** Sets the group's name. 025 * @param name The name that is to be assigned to the group. 026 */ 027 public void setName(String name) { 028 this.name = name; 029 } 030 031 /** Gets the group's name. 032 * @return The name of the group. 033 */ 034 public String getName() { 035 return name; 036 } 037 038 /** Returns a, somewhat, nice string-representation of the group. 039 * @return The group name and its users. 040 */ 041 public String toString() { 042 return getName()+":"+users.toString(); 043 } 044 045 /** Checks if a given user is a memeber of the group. 046 * @param user A username. 047 * @return True if user is in the group, otherwise false. 048 */ 049 public boolean isUserInGroup(String user) { 050 return users.contains(user); 051 } 052 053 /** Removes a given user from the group. 054 * @param user A username. 055 * @return True if user was removed from the group, otherwise false. 056 */ 057 public boolean removeUser(String user) { 058 if(!isUserInGroup(user)) 059 return false; 060 users.remove(user); 061 return true; 062 } 063 064 /** Adds a given user to the group. 065 * @param A username. 066 * @return True if user was added to the group, otherwise false. 067 */ 068 public boolean addUser(String user) { 069 if(isUserInGroup(user)) 070 return false; 071 users.add(user); 072 return true; 073 } 074 075 /** Returns a list containing the users in the group. 076 * @return A list containing all the users in the group. 077 */ 078 public LinkedList getUsers() { 079 return users; 080 } 081 };