⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mypreferencemanager.java

📁 用jxse开发的一个p2p通讯软件 有聊天 文件共享 视频3大功能
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                    if (prefSetInstance != null && prefSetInstance instanceof DefaultPreferenceSet) {                        ((DefaultPreferenceSet) prefSetInstance).setErrorMessage(errorMessage.toString());                    }                    // xxx: todo: set status message here                }            }        }        return prefSetInstance;    }    public PreferenceSet getPreferenceSet(String categoryName, String preferenceSetName) {        String path = buildPath(categoryName, preferenceSetName);        return getPreferenceSet(path);    }    private PreferenceSet getPreferenceSet(String path) {        return this.prefSetTable.get(path);//getClass attr//        String className = getAttribute(path, ATTRIBUTE_CLASS);        //      PreferenceSet prefSet = instantiatePreferenceSet(className);        //inject root path        //    prefSet.setRootPath(path);        //  return prefSet;    }    public PreferenceSet getPluginPreferenceSet(String pluginPrefSetName) {        return getPreferenceSet(buildPath(CATEGORY_PLUGINS, pluginPrefSetName));    }    public String toString() {        return res.toString();    }    public void setPreference(String path, String value) {        path = addLeadingSlash(path);        res.set(path, value);    }    public String getPreference(String name) {        name = addLeadingSlash(name);        return res.get(name);    }    public String getAttribute(String prefName, String attr) {        String rtn;        prefName = addLeadingSlash(prefName);        if (attr.startsWith("@")) {            rtn = prefName + SEP + attr;        } else {            rtn = prefName + SEP + "@" + attr;        }        return res.get(rtn);    }    private String addLeadingSlash(String prefName) {        if (!prefName.startsWith("/"))            prefName = "/" + prefName;        return prefName;    }    public List getAttributes(String name, String attr) {        return getPreferences(name, attr);    }    public List getPreferences(String name, String attr) {        String rtn = name;        name = addLeadingSlash(name);        if (attr != null) {            if (attr.startsWith("@")) {                rtn = name + SEP + attr;            } else {                rtn = name + SEP + "@" + attr;            }        }        return res.getAll(rtn);    }    public void shutdown() {        save();    }    public void save() {        Env.savePreferences(res.toString());    }    /**     * Creates a new instance of MyPreferenceManager     */    private MyPreferenceManager() {        PREFSET_LEGACY = buildPath(CATEGORY_GENERAL, PREFERENCESET_LEGACY);        LOG.setLevel(Level.FINE);        try {            res = new Resource(MyPreferenceManager.ROOT);            try {                //res.load(new URL("file:///home/polo/dev/prefs.xml"));                res.load(Env.getPreferences());            } catch (ResourceNotFoundException ex) {                ex.printStackTrace();            }        } catch (Exception x) {            x.printStackTrace();        }        prefSetTable = new LinkedHashMap<String, PreferenceSet>();    }    public void init() {        scanCategoryList(); // initializes the preferencsets    }    protected List<String> getCategorys() {        if (categoryList == null) {            categoryList = new ArrayList<String>();            scanCategoryList();        }        return categoryList;    }    private void scanCategoryList() {        if (categoryList == null) {            categoryList = new ArrayList<String>();        }        List l = getAttributes(ROOT + SEP + PREFERENCES + SEP + CATEGORY, ATTRIBUTE_NAME);        for (Object aL : l) {            String categoryPath = buildPath((String) aL);            if (!categoryList.contains(categoryPath)) {                categoryList.add(categoryPath);                setupPreferenceSets(categoryPath);            }        }        for (String category : categoryList) {            if (Logging.SHOW_FINE && LOG.isLoggable(Level.FINE)) {                LOG.fine("category " + category);            }        }        for (String prefSet : prefSetTable.keySet()) {            if (Logging.SHOW_FINE && LOG.isLoggable(Level.FINE)) {                LOG.fine("prefset " + prefSet);            }        }    }    protected HashMap<String, PreferenceSet> getPreferenceSets() {        return prefSetTable;    }    public Hashtable<String, PreferenceSet> getPreferenceSets(String categoryPath) {        Hashtable<String, PreferenceSet> table = new Hashtable<String, PreferenceSet>();        for (Iterator<String> i = prefSetTable.keySet().iterator(); i != null && i.hasNext();) {            String path = i.next();            if (path.startsWith(categoryPath)) {                table.put(path, prefSetTable.get(path));            }        }        return table;    }    private void setupPreferenceSets(String categoryPath) {        String pathToPreferenceSet = categoryPath + SEP + PREFERENCE_SET;        List l = getAttributes(pathToPreferenceSet, ATTRIBUTE_NAME);        Iterator itr = l.iterator();        String categoryName = getAttribute(categoryPath, ATTRIBUTE_NAME);        while (itr.hasNext()) {            String prefSetPath = buildPath(categoryName, (String) itr.next());            if (Boolean.valueOf(getAttribute(prefSetPath, ATTRIBUTE_ENABLE))) {                if (!prefSetTable.containsKey(prefSetPath)) { //if its not already in the list                    String prefSetClassName = getAttribute(prefSetPath, ATTRIBUTE_CLASS);                    PreferenceSet prefSet = instantiatePreferenceSet(prefSetClassName);                    prefSet.setRootPath(prefSetPath);                    prefSet.init();                    prefSetTable.put(prefSetPath, prefSet);                }            }        }    }    public static Dimension stringToDimension(String s) {        int w = 0;        int h = 0;        Dimension rtn = null;        if (s != null) {            String[] tmp = s.split("x");            if (tmp.length == 2) {                try {                    w = Integer.valueOf(tmp[0].trim());                    h = Integer.valueOf(tmp[1].trim());                } catch (NumberFormatException nfx) {                    nfx.printStackTrace();                }            }            rtn = new Dimension(w, h);        }        return rtn;    }    public static String dimensionToString(Dimension d) {        return (d != null) ?                String.valueOf(String.valueOf((int) d.getWidth()) +                        " x " +                        String.valueOf((int) d.getHeight())) : null;    }}

⌨️ 快捷键说明

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