keymap.java

来自「OpenMap是一个基于JavaBeansTM的开发工具包。利用OpenMap你」· Java 代码 · 共 91 行

JAVA
91
字号
package org.geotiff.image;import java.io.IOException;import java.io.InputStream;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Properties;/** * The <code>KeyMap</code> represents the two-way mapping between a single set * of GeoTIFF codes and their symbolic string names. The * <code>KeyRegistry</code> keeps track of all of these. *  * @see KeyRegistry */public class KeyMap extends Properties {//    private String name;    private HashMap inverse = new HashMap();    /** Empty Constructor for serialization */    public KeyMap() {        super();    }    /** Constructor for named resource file */    public KeyMap(String resourceName) throws IOException {        super();        InputStream propfile = getClass().getClassLoader().getResourceAsStream(resourceName);        if (propfile == null) {            throw new IOException("Resource not found");        }        load(propfile);        // Construct the inverse of the table        Iterator iter = entrySet().iterator();        while (iter.hasNext()) {            Map.Entry entry = (Map.Entry) iter.next();            try {                inverse.put(entry.getValue(), entry.getKey());            } catch (Exception e) {                // okay to fail for repeated.            }        }    }    /**     * Gets property from key; if value starts with a $ it is an alias to     * another property. The method is non-recursive, and only follows one level     * of indirection.     *      * @param key the symbolic key to resolve     */    public String getProperty2(String key) {        String val = getProperty(key);        if (val == null)            return val;        if (val.startsWith("$")) {            val = getProperty(val.substring(1));        }        return val;    }    /**     * Gets integer code from named key     *      * @param key the symbolic key to resolve     */    int getCode(String key) {        if (key == null)            return -1;        String sval = getProperty2(key);        if (sval == null)            return -1;        else            return Integer.parseInt(sval.trim());    }    /**     * Gets primary string key from code value.     *      * @param code the numeric code to lookup.     */    String getKey(int code) {        return (String) inverse.get((new Integer(code)).toString());    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?