📄 jzjresources.java
字号:
package org.jr.jzj;
/**
* <p>Copyright: Copyright (c) 2002-2003</p>
* <p>Company: JavaResearch(http://www.javaresearch.org)</p>
* <p>最后更新日期:2003年1月9日
* @author Cherami,Barney,Brain
* @version 0.8
*/
import java.util.*;
import java.util.prefs.*;
/**
* 系统的资源的抽象。
* <p><b>目前使用的是JDK1.4引入的资源束类进行实现,使用此类的目的就是方便换用其他的方案</b>
* <p>以后换用其他方案时不用修改其他部分的代码,目前这个类实际上是JDK1.4引入的资源束的一个代理(Proxy),
* 而且此类被设计为一个Singleton类,因为一个系统只需要一个这样的类。
*/
public class JZJResources {
private static JZJLogger logger = new JZJLogger(JZJResources.class);
private static ResourceBundle resourceBundle; //底层的实际资源,即资源束
private static boolean haveGetResource = false; //是否已经得到资源
private static JZJResources resource; //唯一的资源类实例
Preferences preference = JZipJar.preference;
/**
* 构造方法,定义为私有防止被多次实例化。
*/
private JZJResources() {
}
/**
* 得到系统资源。
* @return 系统唯一的资源实例,语言使用本系统默认的语言,即通过JZipJar.getSystemLocale()得到的。
*/
public static JZJResources getResources() {
return getResources(JZipJar.getSystemLocale());
}
/**
* 根据指定的语言得到系统资源。
* @param locale 系统使用的区域以便得到适合的资源
* @return 系统唯一的资源实例
*/
public static JZJResources getResources(Locale locale) {
//如果已经实例化则返回唯一的那个资源,否则进行实例化
if (haveGetResource) {
return resource;
}
else {
resourceBundle = getResourceBundle(locale);
resource = new JZJResources();
return resource;
}
}
/**
* 得到资源束。
* @param locale 系统使用的区域
* @return 和区域匹配的合适的资源束
*/
private static ResourceBundle getResourceBundle(Locale locale) {
haveGetResource = true;
return ResourceBundle.getBundle(JZJResources.class.getPackage().getName() +
".Resources", locale);
}
/**
* 根据主键得到对应的字符串。
* @param key 主键
* @return 主键对应的字符串
*/
public String getString(String key) {
return resourceBundle.getString(key);
}
/**
* 根据主键得到对应的字符串数组。
* @param key 主键
* @return 主键对应的字符串数组
*/
public String[] getStringArray(String key) {
return resourceBundle.getStringArray(key);
}
/**
* 根据主键得到对应的对象。
* @param key 主键
* @return 主键对应的对象
*/
public Object getObject(String key) {
return resourceBundle.getObject(key);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -