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 }