001    /*
002    
003      $Id: MissingUsersResponse.java,v 1.4 2003/03/24 17:20:42 culdesac Exp $
004    
005    */
006    
007    package sharpster.common;
008    
009    import sharpster.common.Response;
010    import java.util.LinkedList;
011    
012    /**
013     * A response which specifies missing users.
014     */
015    public class MissingUsersResponse extends Response implements java.io.Serializable {
016    
017        /**
018         * An list of the missing users;
019         */
020        private LinkedList missingUsers;
021    
022        public MissingUsersResponse() {
023            missingUsers = new LinkedList();
024        }
025    
026        /**
027         * Returns the type of this response.
028         */
029        public int getType() {
030            return sharpster.common.ResponseType.MISSING_USERS;
031        }    
032    
033        /**
034         * Adds a missing user.
035         */ 
036        public void addMissingUsers(String user) {
037            for(int i=0;i<missingUsers.size();i++) {
038                String u = (String)missingUsers.get(i);
039                if(u.equals(user)) return;
040            }
041            missingUsers.add(new String(user));
042        }
043    
044        /**
045         * Returns true if the response has missing users.
046         */
047        public boolean hasMissingUsers() {
048            return (missingUsers.size()!=0);
049        }
050    
051        /**
052         * Returns the missing users.
053         */
054        public String[] getMissingUsers() {
055            String[] users = new String[missingUsers.size()];
056            for(int i=0;i<missingUsers.size();i++) {
057                users[i] = (String)missingUsers.get(i);
058            }
059            return users;
060        }
061    
062        public String toString() {
063            String msg = super.toString();
064    
065            msg = "Missing users response\n" + msg;
066            msg += "- Users: ";
067    
068            for(int i=0;i<missingUsers.size();i++) {
069                String user = (String)missingUsers.get(i);
070                if(user != null) {
071                    msg += user + "\n         ";
072                }
073            }
074    
075            return msg;
076        }
077    }
078