KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > opensymphony > workflow > designer > swing > EnhancedResourceBundle


1 package com.opensymphony.workflow.designer.swing;
2
3 import java.util.ResourceBundle JavaDoc;
4 import java.util.MissingResourceException JavaDoc;
5 import java.text.MessageFormat JavaDoc;
6 import java.text.FieldPosition JavaDoc;
7 import java.io.InputStream JavaDoc;
8 import java.net.URL JavaDoc;
9 import javax.swing.*;
10
11 /**
12  * User: Hani Suleiman
13  * Date: Dec 29, 2003
14  * Time: 4:08:58 PM
15  */

16 public class EnhancedResourceBundle
17 {
18     private ResourceBundle JavaDoc bundle;
19     private ClassLoader JavaDoc loader = EnhancedResourceBundle.class.getClassLoader();
20
21     public EnhancedResourceBundle(String JavaDoc baseName)
22     {
23         this.bundle = ResourceBundle.getBundle(baseName);
24     }
25
26     public EnhancedResourceBundle(ResourceBundle JavaDoc bundle)
27     {
28         this.bundle = bundle;
29     }
30
31     public ResourceBundle JavaDoc getBundle()
32     {
33         return bundle;
34     }
35
36     public String JavaDoc getString(String JavaDoc key)
37     {
38         return getString(key, key);
39     }
40
41     public String JavaDoc getString(String JavaDoc key, String JavaDoc defaultValue)
42     {
43         try
44         {
45           return bundle.getString(key);
46         }
47         catch(MissingResourceException JavaDoc e)
48         {
49           return defaultValue;
50         }
51     }
52
53     public String JavaDoc getString(String JavaDoc key, Object JavaDoc args)
54     {
55
56       try
57       {
58         String JavaDoc value = bundle.getString(key);
59         MessageFormat JavaDoc format = new MessageFormat JavaDoc(value);
60         return format.format(args, new StringBuffer JavaDoc(), new FieldPosition JavaDoc(0)).toString();
61       }
62       catch(MissingResourceException JavaDoc e)
63       {
64         return key;
65       }
66     }
67
68     public ImageIcon getIcon(String JavaDoc key)
69     {
70       String JavaDoc path = getString("image." + key);
71       if(path == null)
72       {
73         return null;
74       }
75       else if(path.length() == 0)
76       {
77         return null;
78       }
79       else
80         return readImageIcon(path);
81     }
82
83     public InputStream JavaDoc getInputStream(String JavaDoc path)
84     {
85       return loader.getResourceAsStream(path);
86     }
87
88     public ImageIcon readImageIcon(String JavaDoc path)
89     {
90       URL JavaDoc url = loader.getResource(path);
91       return null == url ? null : new ImageIcon(url);
92     }
93 }
94
Popular Tags