keyregistry.java

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

JAVA
83
字号
package org.geotiff.image;import java.io.IOException;import java.util.HashMap;/** * The KeyRegistry provides the global registry for all sets of KeyMaps. All * methods are static. */public class KeyRegistry {    private static HashMap keyMaps = new HashMap();    public static String GEOKEY = "geokey";    public static String GEO_CTRANS = "ProjCoordTransGeoKey";    public static String EPSG_PCS = "ProjectedCSTypeGeoKey";    public static String EPSG_DATUM = "GeogGeodeticDatumGeoKey";    public static String EPSG_ELLIPSE = "GeogEllipsoidGeoKey";    public static String EPSG_GCS = "GeogGeographicTypeGeoKey";    public static String EPSG_PM = "GeogPrimeMeridianGeoKey";    public static String EPSG_PROJ = "ProjectionGeoKey";    public static String EPSG_VERTCS = "VerticalCSTypeGeoKey";    public static String UNIT_GEOG = "GeogLinearUnitsGeoKey";    public static String UNIT_PROJ = "ProjLinearUnitsGeoKey";    public static String UNIT_VERTCS = "VerticalUnitsGeoKey";    public static KeyRegistry instance = new KeyRegistry();    private KeyRegistry() {        try {            addKeyMap(EPSG_DATUM, "org/geotiff/epsg/epsg_datum.properties");            addKeyMap(EPSG_ELLIPSE, "org/geotiff/epsg/epsg_ellipse.properties");            addKeyMap(EPSG_GCS, "org/geotiff/epsg/epsg_gcs.properties");            addKeyMap(EPSG_PCS, "org/geotiff/epsg/epsg_pcs.properties");            addKeyMap(EPSG_PM, "org/geotiff/epsg/epsg_pm.properties");            addKeyMap(EPSG_PROJ, "org/geotiff/epsg/epsg_proj.properties");            addKeyMap(EPSG_VERTCS, "org/geotiff/epsg/epsg_vertcs.properties");            addKeyMap(GEO_CTRANS, "org/geotiff/image/geo_ctrans.properties");            addKeyMap(GEOKEY, "org/geotiff/image/geokey.properties");            // A number of Keys use epsg units, so we share them//            addKeyMap(UNIT_GEOG, "/org/geotiff/epsg/epsg_unit.properties");            KeyMap units = getKeyMap(UNIT_GEOG);            addKeyMap(UNIT_PROJ, units);            addKeyMap(UNIT_VERTCS, units);        } catch (IOException e) {            // do nothing        }    }    public static KeyRegistry getKeyRegistry() {        return instance;    }    public static void addKeyMap(String name, KeyMap map) throws IOException {        keyMaps.put(name, map);    }    public static void addKeyMap(String name, String resource)            throws IOException {        addKeyMap(name, new KeyMap(resource));    }    public static KeyMap getKeyMap(String name) {        Object map = keyMaps.get(name);        return (KeyMap) map;    }    public static int getCode(String map, String key) {        KeyMap keyMap = getKeyMap(map);        if (keyMap == null)            return -1;        return keyMap.getCode(key);    }    public static String getKey(String map, int code) {        KeyMap keyMap = getKeyMap(map);        if (keyMap == null)            return null;        return keyMap.getKey(code);    }}

⌨️ 快捷键说明

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