📄 simpleparameters.java
字号:
/** * Note, this method does not implicitly call store() * * @param name * @param value * @see #store() */ protected void setProperty(String name, String value) { if ((defaults.getProperty(name) != null) && (defaults.getProperty(name).equals(value))) { // setting property back to default, remove override property if any if (properties.getProperty(name) != null) { properties.remove(name); fireChangeEvent(name, value); } } else { if ((properties.getProperty(name) == null) || (!properties.getProperty(name).equals(value))) { properties.setProperty(name, value); fireChangeEvent(name, value); } } } /** * Sets the Int attribute of the SimpleParameters object * * @param name The new Int value * @param value The new Int value */ public void setInt(String name, int value) { setProperty(name, Integer.toString(value)); } /** * Sets the Double attribute of the SimpleParameters object * * @param name The new Double value * @param value The new Double value */ public void setDouble(String name, double value) { setProperty(name, Double.toString(value)); } /** * Sets the Float attribute of the SimpleParameters object * * @param name The new Float value * @param value The new Float value */ public void setFloat(String name, float value) { setProperty(name, Float.toString(value)); } /** * Sets the Long attribute of the SimpleParameters object * * @param name The new Long value * @param value The new Long value */ public void setLong(String name, long value) { setProperty(name, Long.toString(value)); } /** * Sets the Boolean attribute of the SimpleParameters object * * @param name The new Boolean value * @param value The new Boolean value */ public void setBoolean(String name, boolean value) { setProperty(name, "" + value); } /** * Sets the InetAddress attribute of the SimpleParameters object * * @param name The new InetAddress value * @param value The new InetAddress value */ public void setInetAddress(String name, InetAddress value) { setProperty(name, value.getHostAddress()); } /** * Sets the InetSocketAddress attribute of the SimpleParameters object * * @param name The new InetSocketAddress value * @param value The new InetSocketAddress value */ public void setInetSocketAddress(String name, InetSocketAddress value) { setProperty(name, value.getAddress().getHostAddress() + ":" + value.getPort()); } /** * Sets the InetSocketAddressArray attribute of the SimpleParameters object * * @param name The new InetSocketAddressArray value * @param value The new InetSocketAddressArray value */ public void setInetSocketAddressArray(String name, InetSocketAddress[] value) { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < value.length; i++) { buffer.append(value[i].getAddress().getHostAddress() + ":" + value[i].getPort()); if (i < value.length - 1) { buffer.append(ARRAY_SPACER); } } setProperty(name, buffer.toString()); } /** * Sets the String attribute of the SimpleParameters object * * @param name The new String value * @param value The new String value */ public void setString(String name, String value) { setProperty(name, value); } /** * Sets the StringArray attribute of the SimpleParameters object * * @param name The new StringArray value * @param value The new StringArray value */ public void setStringArray(String name, String[] value) { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < value.length; i++) { buffer.append(value[i]); if (i < value.length - 1) { buffer.append(ARRAY_SPACER); } } setProperty(name, buffer.toString()); } /** * DESCRIBE THE METHOD * * @return DESCRIBE THE RETURN VALUE */ public Enumeration enumerateDefaults() { return defaults.keys(); } /** * DESCRIBE THE METHOD * * @return DESCRIBE THE RETURN VALUE */ public Enumeration enumerateNonDefaults() { return properties.keys(); } /** * DESCRIBE THE METHOD * * @param name DESCRIBE THE PARAMETER * @return DESCRIBE THE RETURN VALUE * @exception UnknownHostException DESCRIBE THE EXCEPTION */ protected InetSocketAddress parseInetSocketAddress(String name) throws UnknownHostException { String host = name.substring(0, name.indexOf(":")); String port = name.substring(name.indexOf(":") + 1); try { return new InetSocketAddress(InetAddress.getByName(host), Integer.parseInt(port)); } catch (UnknownHostException uhe) { System.err.println("ERROR: Unable to find IP for ISA " + name + " - returning null."); return null; } } /** * DESCRIBE THE METHOD * * @param name DESCRIBE THE PARAMETER */ public void remove(String name) { properties.remove(name); fireChangeEvent(name, null); } /** * DESCRIBE THE METHOD * * @param name DESCRIBE THE PARAMETER * @return DESCRIBE THE RETURN VALUE */ public boolean contains(String name) { if (defaults.containsKey(name)) { return true; } return properties.containsKey(name); } /** * DESCRIBE THE METHOD * * @exception IOException DESCRIBE THE EXCEPTION */ public void store() throws IOException { if (configFileName == null) { return; } try { properties.store(new FileOutputStream(configFileName), null); } catch (IOException ioe) { System.err.println("[Loader ]: Unable to store properties file " + configFileName + ", got error " + ioe); throw ioe; } } /** * Adds a feature to the ChangeListener attribute of the SimpleParameters * object * * @param p The feature to be added to the ChangeListener attribute */ public void addChangeListener(ParameterChangeListener p) { changeListeners.add(p); } /** * DESCRIBE THE METHOD * * @param p DESCRIBE THE PARAMETER */ public void removeChangeListener(ParameterChangeListener p) { changeListeners.remove(p); } /** * DESCRIBE THE METHOD * * @param name DESCRIBE THE PARAMETER * @param val DESCRIBE THE PARAMETER */ private void fireChangeEvent(String name, String val) { Iterator i = changeListeners.iterator(); while (i.hasNext()) { ParameterChangeListener p = (ParameterChangeListener) i.next(); p.parameterChange(name, val); } } /** * DESCRIBE THE CLASS * * @version $Id: pretty.settings 2305 2005-03-11 20:22:33Z jeffh $ * @author jeffh */ protected class MyProperties extends Properties { /** * DESCRIBE THE METHOD * * @return DESCRIBE THE RETURN VALUE */ public Enumeration keys() { final String[] keys = (String[]) keySet().toArray(new String[0]); Arrays.sort(keys); return new Enumeration() { int pos = 0; public boolean hasMoreElements() { return (pos < keys.length); } public Object nextElement() { return keys[pos++]; } }; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -