package bce.client.utils; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Properties; /** * 单例的URL生成器 * * @author robins * */ public class BCEURLProvider { /** * 唯一的实例对象 */ private static BCEURLProvider provider; static { if (provider == null) provider = new BCEURLProvider(); } /** * 该单例提供的loginURL对象 */ private URL loginURL; /** * 该单例提供的processURL对象 */ private URL processURL; /** * 私有构造函数,用于收回对象实例化的控制权 */ private BCEURLProvider() { loadProperties(); } /** * 获取唯一实例对象 * @return 唯一的BCEURLProvider实例对象 */ public static BCEURLProvider getInstance() { return provider; } /** * 读取配置文件,载入配置的URL */ private void loadProperties() { Properties prop = new Properties(); InputStream in = null; try { in = BCEURLProvider.class.getResourceAsStream("/conf/BCEURLProvider.properties"); prop.load(in); this.loginURL = new URL(prop.getProperty("login")); this.processURL = new URL(prop.getProperty("process")); } catch (IOException e) { e.printStackTrace(); } finally { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } /** * 获取loginURL对象 * @return loginURL对象 */ public URL getLoginURL() { if (this.loginURL == null) return null; return loginURL; } /** * 获取processURL对象 * @return processURL对象 */ public URL getProcessURL() { if (this.processURL == null) return null; return processURL; } }