1 20 package net.sf.clirr.core; 21 22 import java.util.Iterator ; 23 import java.util.ArrayList ; 24 import java.util.Comparator ; 25 import java.util.Collection ; 26 27 31 public final class MessageManager 32 { 33 private static MessageManager instance; 34 private ArrayList messages = new ArrayList (); 35 36 39 private static class MessageComparator implements Comparator 40 { 41 public int compare(Object o1, Object o2) 42 { 43 Message m1 = (Message) o1; 44 Message m2 = (Message) o2; 45 return m1.getId() - m2.getId(); 46 } 47 } 48 49 53 private MessageManager() 54 { 55 } 56 57 60 public static MessageManager getInstance() 61 { 62 if (instance == null) 63 { 64 instance = new MessageManager(); 65 } 66 return instance; 67 } 68 69 72 public void addMessage(Message msg) 73 { 74 messages.add(msg); 75 } 76 77 86 public void checkUnique() 87 { 88 java.util.Collections.sort(messages, new MessageComparator()); 89 int lastId = -1; 90 for (Iterator i = messages.iterator(); i.hasNext();) 91 { 92 Message m = (Message) i.next(); 94 int currId = m.getId(); 95 if (currId <= lastId) 96 { 97 throw new IllegalArgumentException ("Message id [" + currId + "] is not unique."); 98 } 99 } 100 } 101 102 105 public Collection getMessages() 106 { 107 return messages; 108 } 109 } 110 | Popular Tags |