第1页共70页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共70页packageorg.jfree.base.config;importjava.util.Enumeration;importjava.util.Iterator;importorg.jfree.util.Configuration;publicabstractinterfaceModifiableConfigurationextendsConfiguration{publicabstractvoidsetConfigProperty(StringparamString1,StringparamString2);publicabstractEnumerationgetConfigProperties();publicabstractIteratorfindPropertyKeys(StringparamString);}packageorg.jfree.base.config;importjava.util.Enumeration;importjava.util.Properties;©importjava.util.Vector;publicclassSystemPropertyConfigurationextendsHierarchicalConfiguration{publicvoidsetConfigProperty(Stringkey,Stringvalue){thrownewUnsupportedOperationException("TheSystemPropertyConfigurationisreadOnly");}publicStringgetConfigProperty(Stringkey,StringdefaultValue){try{Stringvalue=System.getProperty(key);if(value!=null){returnvalue;}}catch(SecurityExceptionse){}returnsuper.getConfigProperty(key,defaultValue);}publicbooleanisLocallyDefined(Stringkey){try{returnSystem.getProperties().containsKey(key);}catch(SecurityExceptionse){}returnfalse;}第2页共70页第1页共70页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共70页publicEnumerationgetConfigProperties(){try{returnSystem.getProperties().keys();}catch(SecurityExceptionse){}returnnewVector().elements();}}packageorg.jfree.base.config;importjava.io.BufferedInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.util.Properties;importorg.jfree.util.Log;importorg.jfree.util.ObjectUtilities;publicclassPropertyFileConfigurationextendsHierarchicalConfiguration{publicvoidload(StringresourceName){load(resourceName,PropertyFileConfiguration.class);}publicvoidload(StringresourceName,ClassresourceSource){InputStreamin=ObjectUtilities.getResourceRelativeAsStream(resourceName,resourceSource);if(in!=null){try{load(in);}finally{try{in.close();}catch(IOExceptione){}}第3页共70页第2页共70页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共70页}else{Log.debug("Configurationfilenotfoundintheclasspath:"+resourceName);}}publicvoidload(InputStreamin){if(in==null){thrownewNullPointerException();}try{BufferedInputStreambin=newBufferedInputStream(in);Propertiesp=newProperties();p.load(bin);getConfiguration().putAll(p);bin.close();}catch(IOExceptionioe){Log.warn("Unabletoreadconfiguration",ioe);}}}packageorg.jfree.base.log;importorg.jfree.util.Log;importorg.jfree.util.LogTarget;importorg.jfree.util.PrintStreamLogTarget;publicclassDefaultLogextendsLog{privatestaticfinalPrintStreamLogTargetDEFAULT_LOG_TARGET=newPrintStreamLogTarget();privatestaticfinalDefaultLogdefaultLogInstance=newDefaultLog();publicvoidinit(){removeTarget(DEFAULT_LOG_TARGET);StringlogLevel=LogConfiguration.getLogLevel();if(logLevel.equalsIgnoreCase("error")){setDebuglevel(0);}elseif(logLevel.equalsIgnoreCase("warn")){setDebuglevel(1);}第4页共70页第3页共70页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第4页共70页elseif(logLevel.equalsIgnoreCase("info")){setDebuglevel(2);}elseif(logLevel.equalsIgnoreCase("debug"))setDebuglevel(3);}publicsynchronizedvoidaddTarget(LogTargettarget){super.addTarget(target);if(target!=DEFAULT_LOG_TARGET)removeTarget(DEFAULT_LOG_TARGET);}publicstaticDefaultLoggetDefaultLog(){returndefaultLogInstance;}publicstaticvoidinstallDefaultLog(){Log.defineL...