📄 xmlconfigbase.java
字号:
package MyNa.xml;
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import MyNa.utils.*;
import org.w3c.dom.Node;
public abstract class XmlConfigBase implements XmlConfig {
/* This is a simple base class for classes which implement
XmlConfig and don't need to extend something else.
You'll have to define setString and getString, and
you'll probably want to define setInitDefs to save the
environment or do something else useful with it.
*/
public XmlConfigBase(){}
String beanName="topBean";
boolean verbose=true;
boolean debug=true;
public String getBeanName(){return beanName;}
public void setBeanName(String S){beanName=S;}
public void setVerbose(String S){
try{verbose=(new Boolean(S)).booleanValue();}
catch(Exception ex){
(new Logger()).logIt("setVerbose "+getBeanName()+": "+S+"\n"+ex);
verbose=true;
}
}
public void setDebug(String S){
try{debug=(new Boolean(S)).booleanValue();}
catch(Exception ex){
(new Logger()).logIt("setDebug "+getBeanName()+": "+S+"\n"+ex);
debug=true;
}
}
public void setInitDefs(Env E){
// probably save it.
}
public void useEnv(Env E){
setInitDefs(E);
Enumeration keys=E.keys();
while(keys.hasMoreElements()){
String key=(String)keys.nextElement();
Object val=E.get(key);
if(val instanceof String)setString(key,(String)val);
}
}
public String initFromEnv(Env E){
// init using values from the Env,
// which includes subenvironments for beans;
String S=XmlConfigUtils.initFromEnv(E);
if(S.length()>0)return S; // something wrong;
try{useEnv(E);}
catch(Exception ex){
StringWriter sw=new StringWriter();
ex.printStackTrace(new PrintWriter(sw));
return "XmlConfigBase.initFromEnv: "+sw.toString()+
"\n in Env "+E.toStringRec();
}
return "";
}
public String initFromTopEnv(Env E){
// init using values from the Env,
// with keys of the form xxx_yyy_zzz to refer
// to subbean locations.
String S=XmlConfigUtils.initFromTopEnv(E);
if(S.length()>0)return S;
return initFromEnv(E);
}
public String initFromXmlFile(String fileName,
boolean validate,Env E){
// top level; construct tree, call Node version.
String S=XmlConfigUtils.initFromXmlFile(fileName,validate,E);
if(S.length()>0)return S;
return initFromEnv(E);
}
public String initFromDomTree(Node nd,Env E){
// init from Node; use subtrees for subbeans.
String S=XmlConfigUtils.initFromDomTree(nd,E);
if(S.length()>0)return S;
return initFromEnv(E);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -