View Javadoc
1   package se.perfectfools.localizer.impl;
2   
3   import java.util.ArrayList;
4   import java.util.Collection;
5   import java.util.Collections;
6   import java.util.Comparator;
7   import java.util.Hashtable;
8   import java.util.Iterator;
9   
10  import se.perfectfools.localizer.LocalizationFile;
11  import se.perfectfools.localizer.Message;
12  
13  /***
14   * 
15   * 
16   * @author Pål Brattberg, pal@eminds.se
17   */
18  public class LocalizationFileImpl implements LocalizationFile {
19  
20      private Hashtable data = new Hashtable();
21  
22      public Collection getMessages() {
23          return data.values();
24      }
25  
26      public Collection getMessageIds() {
27          return data.keySet();
28      }
29  
30      public void addMessage(Message message) {
31          if (message != null) {
32              data.put(message.getId(), message);
33          }
34      }
35  
36      public Message getMessage(String id) {
37          return (Message) data.get(id);
38      }
39  
40      /***
41       * Return a sorted iterator for all messages
42       * 
43       * @see se.perfectfools.localizer.LocalizationFile#iterator()
44       */
45      public Iterator iterator() {
46          Iterator iter = getMessages().iterator();
47          ArrayList sortedList = new ArrayList();
48          while (iter.hasNext()) {
49              sortedList.add(iter.next());
50          }
51          Collections.sort(sortedList, new Comparator() {
52              public boolean equals(Object arg0) {
53                  return super.equals(arg0);
54              }
55  
56              public int compare(Object arg0, Object arg1) {
57                  int aId = Integer.parseInt(((Message) arg0).getId());
58                  int bId = Integer.parseInt(((Message) arg1).getId());
59                  return aId - bId;
60              }
61          });
62          return sortedList.iterator();
63      }
64  
65  }