KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cms > entities > management > Chat


1 package org.infoglue.cms.entities.management;
2
3 import java.util.ArrayList JavaDoc;
4 import java.util.LinkedList JavaDoc;
5 import java.util.List JavaDoc;
6
7 public class Chat
8 {
9     private int messageId = 0;
10     
11     private LinkedList JavaDoc messages = new LinkedList JavaDoc();
12
13     public List JavaDoc addMessage(String JavaDoc userName, Integer JavaDoc type, String JavaDoc text)
14     {
15         messageId++;
16         
17         if (text != null && text.trim().length() > 0)
18         {
19             messages.addFirst(new Message(messageId, userName, type, text));
20             //while (messages.size() > 10)
21
//{
22
//messages.removeLast();
23
//}
24
}
25
26         return messages;
27     }
28
29     public List JavaDoc getMessages()
30     {
31         return messages;
32     }
33
34     public List JavaDoc getMessages(int lastIndex)
35     {
36         //System.out.println("lastIndex:" + lastIndex + ":" + messageId);
37

38         if(messageId == lastIndex)
39             return new ArrayList JavaDoc();
40         
41         if((messageId - lastIndex) > messages.size())
42             return new ArrayList JavaDoc();
43
44         if((messageId - lastIndex) < 1)
45             return new ArrayList JavaDoc();
46
47         return messages.subList(0, messageId - (lastIndex));
48     }
49
50     public int getMessageId()
51     {
52         return messageId;
53     }
54 }
Popular Tags