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

📄 mypreferencemanager.java

📁 jxta官方例程
💻 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 java.awt.Dimension;import java.util.ArrayList;import java.util.HashMap;import java.util.Hashtable;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.List;import net.jxta.ext.config.Resource;import net.jxta.ext.config.ResourceNotFoundException;import net.jxta.myjxta.MyJXTA;import net.jxta.myjxta.util.Env;import org.apache.log4j.Level;import org.apache.log4j.Logger;/** * * @author polo */public class MyPreferenceManager {        private Resource res = null;    private static final Logger LOG = Logger.getLogger(MyPreferenceManager.class);    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 = null;        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 = null;        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 (LOG.isEnabledFor(Level.DEBUG)) {                LOG.debug("class.forName " + prefSetClass.getName());            }                        Class superClass = prefSetClass.getSuperclass();                        if (LOG.isEnabledFor(Level.DEBUG)) {                LOG.debug("superClass " + superClass.getName());            }                        // if superclass is good then instantiate PreferenceSet class            if(superClass.getName().equals(PreferenceSet.class.getName())) {                                if (LOG.isEnabledFor(Level.DEBUG)) {                    LOG.debug("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);                    if(prefSetInstance != null && prefSetInstance instanceof DefaultPreferenceSet) {                        ((DefaultPreferenceSet)prefSetInstance).setErrorMessage(errorMessage.toString());                    }                    // xxx: todo: set status message here

⌨️ 快捷键说明

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