1 5 6 package com.raptus.owxv3.api; 7 8 import java.sql.SQLException ; 9 import java.util.*; 10 11 import com.raptus.owxv3.*; 12 13 35 public class MessagesSelector extends Object 36 { 37 40 protected Locale[] availLocales = null; 41 42 45 protected Hashtable localizedMsgs = null; 46 47 50 public MessagesSelector(String [] locales) 51 { 52 reset(); 53 54 availLocales = new Locale[locales.length]; 55 for(int i = 0; i < locales.length; i ++) 56 { 57 PairOfObjects po = LocaleManager.stripLocaleString(locales[i]); 58 if(po != null && po.isValid()) 59 availLocales[i] = new Locale((String ) po.getObjectOne(), 60 (String ) po.getObjectTwo()); 61 } 62 } 63 64 67 public void reset() 68 { 69 localizedMsgs = new Hashtable(); 70 } 71 72 75 public void loadMessages(GlobalResources gres, String tableId, int rowId, String field) 76 throws SQLException 77 { 78 for(int i = 0; i < availLocales.length; i ++) 79 { 80 String msg = gres.loadMessage(tableId, rowId, field, availLocales[i]); 81 if(msg != null) 82 localizedMsgs.put(availLocales[i].toString() + "_" + field, msg); 83 } 84 } 85 86 89 public void saveMessages(GlobalResources gres, String tableId, int rowId, String field) 90 throws SQLException 91 { 92 for(int i = 0; i < availLocales.length; i ++) 93 { 94 String msg = (String ) localizedMsgs.get(availLocales[i].toString() + "_" + field); 95 gres.saveMessage(tableId,rowId, field, availLocales[i], msg); 96 } 97 } 98 99 102 public String getMessage(String field, Locale locale) 103 { 104 return (String ) localizedMsgs.get(locale.toString() + "_" + field); 105 } 106 107 110 public void setMessage(String field, Locale locale, String msg) 111 { 112 if(msg != null) 113 localizedMsgs.put(locale.toString() + "_" + field, msg); 114 else 115 LoggingManager.log("Cannot link NULL message: " + field + "/" + locale.toString(), this); 116 } 117 118 121 public Locale[] getLocales() { return availLocales; } 122 public void setLocales(Locale[] l) { this.availLocales = l; } 123 } 124 125 | Popular Tags |