/Users/detro/workspace-nb/JAEBI/src/java/org/jaebi/server/core/UserContainerImpl.java

Vai alla documentazione di questo file.
00001 /*
00002  * UserContainerImpl.java
00003  *
00004  * Created on May 15, 2005, 2:32 PM
00005  * Created by Detro - 566/2145
00006  */
00007 
00008 package org.jaebi.server.core;
00009 import java.util.ArrayList;
00010 import java.util.Collection;
00011 import java.util.HashMap;
00012 import java.util.Iterator;
00013 
00014 import org.jaebi.server.auth.Session;
00021 public class UserContainerImpl implements UserContainer {
00034     protected final HashMap container;
00035     
00039     public UserContainerImpl() {
00040         container = new HashMap();
00041     }
00042     
00043     public boolean addUser( String nick, Session session, String type ) {
00044                 User newUser = new User(nick, session, type);
00045                 return addUser(newUser);
00046     }
00047     
00048     public synchronized boolean addUser( User newUser ) {
00049         if ( !contains( newUser.getSession() ) ) {
00050                         container.put(newUser.getSession(), newUser);
00051                         return true;
00052         }
00053         else 
00054                         return false;
00055     }
00056     
00057     public synchronized boolean removeUser( Session session ) {
00058         User user = (User)container.remove(session);
00059         return user == null ? false : true;
00060     }
00061     
00062     public synchronized boolean contains(Session session) { 
00063         return container.containsKey(session);
00064     }
00065     
00066     public synchronized User getUser( Session session ) { 
00067         return (User)container.get(session); 
00068     }
00069     
00073     public synchronized ArrayList getUsersByNick( String nick ) {
00074         Collection allUsers = container.values();
00075         ArrayList selected = new ArrayList();
00076         Iterator iter = allUsers.iterator();
00077         
00078         while( iter.hasNext() ) {
00079             User currUser = (User)iter.next();
00080             if ( currUser.getNick().equals(nick) )
00081                 selected.add(currUser);
00082         }
00083         
00084         return selected;
00085     }
00086     
00090     public synchronized ArrayList getUsersByType( String type ) {
00091         Collection allUsers = container.values();
00092         ArrayList selected = new ArrayList();
00093         Iterator iter = allUsers.iterator();
00094         
00095         while( iter.hasNext() ) {
00096             User currUser = (User)iter.next();
00097             if ( currUser.getType().equals(type) )
00098                 selected.add(currUser);
00099         }
00100         
00101         return selected;
00102     }
00103     
00104     public synchronized int size() { return container.size(); }
00105     
00106     public synchronized void clear() { container.clear(); }
00107     
00108     public synchronized boolean isEmpty() { return container.isEmpty(); }
00109     
00110     public synchronized Collection toCollection() {
00111         return (Collection)container.values();
00112     }
00113     
00114     public String toString() {
00115         Iterator iter = container.values().iterator();
00116         StringBuffer buffer = new StringBuffer();
00117         
00118         while ( iter.hasNext() ) {
00119             buffer.append( iter.next().toString() + "\n");
00120         }
00121         return buffer.toString();
00122     }
00123 }

Generato il Mon Jun 27 22:50:37 2005 per JAEBI - JAva Enterprice BackEnd Interfacement da  doxygen 1.4.3