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

📄 mypreferencemanager.java

📁 用jxse开发的一个p2p通讯软件 有聊天 文件共享 视频3大功能
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * MyPreferenceManager.java * * Created on December 31, 2005, 1:16 PM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */package net.jxta.myjxta.util.preferences;import net.jxta.ext.config.Resource;import net.jxta.ext.config.ResourceNotFoundException;import net.jxta.logging.Logging;import net.jxta.myjxta.MyJXTA;import net.jxta.myjxta.util.Env;import java.awt.*;import java.util.*;import java.util.List;import java.util.logging.Level;import java.util.logging.Logger;/** * @author polo */public class MyPreferenceManager {    private Resource res = null;    private static final Logger LOG = Logger.getLogger(MyPreferenceManager.class.getName());    public static final String ROOT = "myjxtaPrefs";    public static final String PREFERENCES = "preferences";    public static final String CATEGORY = "category";    public static final String PREFERENCE_SET = "preferenceSet";    public static final String PREFERENCE = "preference";    public static final String SEP = "/";    public static final String ATTRIBUTE_NAME = "@name";    public static final String ATTRIBUTE_DESCRIPTION = "@description";    public static final String ATTRIBUTE_VISIBLE = "@visible";    public static final String ATTRIBUTE_LABEL = "@label";    public static final String ATTRIBUTE_VALUE = "@value";    public static final String ATTRIBUTE_ENABLE = "@enable";    public static final String ATTRIBUTE_ICON = "@icon";    public static final String ATTRIBUTE_TOOLTIP = "@tooltip";    public static final String ATTRIBUTE_CLASS = "@class";    public static final String ATTRIBUTE_DIMENSION = "@dimension";    public static final String DEFAULT_PREFSET_CLASS_NAME = DefaultPreferenceSet.class.getName();    public static final String CATEGORY_GENERAL = "General";    public static final String CATEGORY_PLUGINS = "plugins";    public static String PREFSET_LEGACY = null;// todo set the defalt icon    public static final String DEFAULT_ICON = "TreeTable.PeerPresent";    public static final String PREFERENCESET_LEGACY = "General.Legacy";    public static final String PREFERENCESET_PLUGINPATHS = "plugins.paths";    public static final String PREFERENCE_CHIME = "General.Legacy.Chime";    public static final String PREFERENCE_INSTALL = "plugins.paths.install";    private List<String> categoryList = null;    private LinkedHashMap<String, PreferenceSet> prefSetTable = null;    static private MyPreferenceManager myinstance = null;    static public MyPreferenceManager getInstance() {        if (myinstance == null) {            myinstance = new MyPreferenceManager();        }        return myinstance;    }    public MyJXTA getMyJxta() {        return MyJXTA.getTheInstance();    }    public static String buildPath() {        return buildPath(null, null, null, null);    }    public static String buildPath(String categoryName) {        return buildPath(categoryName, null, null, null);    }    public static String buildPath(String categoryName, String preferenceSetName) {        return buildPath(categoryName, preferenceSetName, null, null);    }    public static String buildPath(String categoryName, String preferenceSetName, String preferenceName) {        return buildPath(categoryName, preferenceSetName, preferenceName, null);    }    public static String buildPath(String categoryName, String preferenceSetName, String preferenceName, String attr) {        StringBuffer rtn = new StringBuffer(ROOT);        rtn.append(SEP);        rtn.append(PREFERENCES);        if (categoryName != null) {            rtn.append(SEP);            rtn.append(CATEGORY);            rtn.append("[");            rtn.append(ATTRIBUTE_NAME);            rtn.append("=\"");            rtn.append(categoryName);            rtn.append("\"]");            if (preferenceSetName != null) {                rtn.append(SEP);                rtn.append(PREFERENCE_SET);                rtn.append("[");                rtn.append(ATTRIBUTE_NAME);                rtn.append("=\"");                rtn.append(preferenceSetName);                rtn.append("\"]");                if (preferenceName != null) {                    rtn.append(SEP);                    rtn.append(PREFERENCE);                    rtn.append("[");                    rtn.append(ATTRIBUTE_NAME);                    rtn.append("=\"");                    rtn.append(preferenceName);                    rtn.append("\"]");                    if (attr != null) {                        rtn.append(SEP);                        rtn.append(attr);                    }                }            }        }        return rtn.toString();    }    private Class loadClass(String className) {        Class prefSetClass;        try {            prefSetClass = Class.forName(className);        } catch (LinkageError le) {            le.printStackTrace();            prefSetClass = null;            // xxx: todo: set status message here        } catch (ClassNotFoundException cnfx) {            //cnfx.printStackTrace();            prefSetClass = null;            // xxx: todo: set status message here        }        return prefSetClass;    }    public PreferenceSet instantiatePreferenceSet(String prefSetClassName) {        Class prefSetClass;        PreferenceSet prefSetInstance = null;        StringBuffer errorMessage = new StringBuffer();        /** Load class and test for correct superclass */        prefSetClass = loadClass(prefSetClassName);        if (prefSetClass == null) {            prefSetClass = loadClass(DEFAULT_PREFSET_CLASS_NAME);        }        if (prefSetClass != null) {            if (Logging.SHOW_FINE && LOG.isLoggable(Level.FINE)) {                LOG.fine("class.forName " + prefSetClass.getName());            }            Class superClass = prefSetClass.getSuperclass();            if (Logging.SHOW_FINE && LOG.isLoggable(Level.FINE)) {                LOG.fine("superClass " + superClass.getName());            }            // if superclass is good then instantiate PreferenceSet class            if (superClass.getName().equals(PreferenceSet.class.getName())) {                if (Logging.SHOW_FINE && LOG.isLoggable(Level.FINE)) {                    LOG.fine("superClass is good");                }                try {                    Class customPreferenceSet = Class.forName(prefSetClass.getName());                    if (PreferenceSet.class.isAssignableFrom(customPreferenceSet)) {                        prefSetInstance = (PreferenceSet) customPreferenceSet.newInstance();                    }                } catch (ClassCastException ccx) {                    ccx.printStackTrace();                    errorMessage.append("ClassCast Error in Preference Set Class Instantiation\n\r");                    errorMessage.append("Using Default Preference Set Class");                    prefSetInstance = instantiatePreferenceSet(DEFAULT_PREFSET_CLASS_NAME);                    if (prefSetInstance != null && (prefSetInstance instanceof DefaultPreferenceSet)) {                        ((DefaultPreferenceSet) prefSetInstance).setErrorMessage(errorMessage.toString());                    }                    // xxx: todo: set status message here                } catch (InstantiationException ix) {                    ix.printStackTrace();                    errorMessage.append("Instantiation Error in Preference Set Class Instantiation\n\r");                    errorMessage.append("Using Default Preference Set Class");                    prefSetInstance = instantiatePreferenceSet(DEFAULT_PREFSET_CLASS_NAME);                    if (prefSetInstance != null && prefSetInstance instanceof DefaultPreferenceSet) {                        ((DefaultPreferenceSet) prefSetInstance).setErrorMessage(errorMessage.toString());                    }                    // xxx: todo: set status message here                } catch (IllegalAccessException iax) {                    iax.printStackTrace();                    errorMessage.append("IllegalAccess Error in Preference Set Class Instantiation\n\r");                    errorMessage.append("Using Default Preference Set Class");                    prefSetInstance = instantiatePreferenceSet(DEFAULT_PREFSET_CLASS_NAME);                    if (prefSetInstance != null && prefSetInstance instanceof DefaultPreferenceSet) {                        ((DefaultPreferenceSet) prefSetInstance).setErrorMessage(errorMessage.toString());                    }                    // xxx: todo: set status message here                } catch (LinkageError le) {                    le.printStackTrace();                    errorMessage.append("Linkage Error in Preference Set Class Instantiation\n\r");                    errorMessage.append("Using Default Preference Set Class");                    prefSetInstance = instantiatePreferenceSet(DEFAULT_PREFSET_CLASS_NAME);                    if (prefSetInstance != null && prefSetInstance instanceof DefaultPreferenceSet) {                        ((DefaultPreferenceSet) prefSetInstance).setErrorMessage(errorMessage.toString());                    }                    // xxx: todo: set status message here                } catch (ClassNotFoundException cnfx) {                    cnfx.printStackTrace();                    errorMessage.append("ClassNotFound Error in Preference Set Class Instantiation\n\r");                    errorMessage.append("Using Default Preference Set Class");                    prefSetInstance = instantiatePreferenceSet(DEFAULT_PREFSET_CLASS_NAME);

⌨️ 快捷键说明

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