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

📄 preferenceinfo.java

📁 打印管理程序,测试完全通过.windows开发环境.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package jp.co.ntl.preference;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.Vector;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class PreferenceInfo {
	public static final String	PREF_FILE				= "./preferences.properties";
	// 僼傽僀儖柤
	public static final String	XML_FILE_NAME			= "./preferences.xml";	// XML僼傽僀儖柤
	public static final String	XML_TEMP_FILE_NAME		= "./temp.xml";			// 僥儞億儔儕僼傽僀儖柤

	// 僞僌柤
	public static final String	TAG_INFO				= "info";
	public static final String	TAG_PREFERENCE_INFO		= "preferenceInfo";
	
	// 懏惈柤
	public static final String	ATTR_ID					= "id";
	public static final String	ATTR_VALUE				= "value";
	
	// 僉乕柤

	public static final String	KEY_DEBUG				= "debug";
	public static final String	KEY_LANGUAGE			= "language";
	public static final String	KEY_PAPER_INFO_SUPPORT	= "paperInfo.support";
	public static final String	KEY_VENDER				= "vender";
	public static final String	KEY_SESSION_TIMER_VALUE	= "sessionTimerValue";
	public static final String	KEY_CARD_RW_ADDR		= "cardRWAddr";
	public static final String	KEY_FELICA_SYS_CODE		= "felicaSysCode";
	public static final String	KEY_HOST				= "host";
	public static final String	KEY_PORT				= "port";
	public static final String	KEY_USEHTTPS			= "useHttps";
	public static final String	KEY_PATH				= "path";
	public static final String	KEY_AUTHTYPE			= "auth.type";
	public static final String	KEY_ALLOW_SELECTED_AUTHTYPE	= "allowSelectedAuthType";
	
	// 抂枛庬暿
	public static final int		CLIENT_WINDOWS			= 0;
	public static final int		CLIENT_MAC				= 1;
	public static final int		CLIENT_LINUX			= 2;
	
	// 儀儞僟乕
	public static final String	VENDER_NTL				= "";
	public static final String	VENDER_METRO			= "metro";
	public static final String	DEF_VENDER				= VENDER_NTL;

	// URL
	public static final String	HTTP_STR				= "http://";
	public static final String	HTTPS_STR				= "https://";
	public static final String	SERVLET_DIR_STR			= "/servlet/";

	// 擣徹庬暿
	public static final int		AUTH_USB				= 0;
	public static final int		AUTH_LOGIN				= 1;
	public static final int		AUTH_NET_FELICA			= 2;
	public static final int		AUTH_FELICA				= 3;
	
	// 僨僼僅儖僩抣
	public static final String	KEY_IMAGE_BACKGROUND	= "image.background";
	public static final int		DEF_SESSION_TIMER_VALUE	= 60;				// 僙僢僔儑儞僞僀儉傾僂僩抣(1s)
	public static final boolean	DEF_DEBUG				= false;			// 僨僶僢僌儌乕僪
	public static final boolean	DEF_PAPER_INFO_SUPPORT	= true;				// 梡巻僒僀僘僒億乕僩
	public static final String	DEF_CARD_RW_ADDR		= "192.168.1.100";	// 僇乕僪R/W傾僪儗僗
	public static final int		DEF_FELICA_SYS_CODE		= 0xffff;			// 僼僃儕僇僔僗僥儉僐乕僪
	public static final String	DEF_HOST				= "127.0.0.1";		// 儂僗僩柤
	public static final int		DEF_PORT				= 8080;				// 億乕僩斣崋
	public static final boolean	DEF_USE_HTTPS			= false;			// HTTPS巊梡
	public static final String	DEF_PATH				= "/SPS";			// 僷僗柤
	public static final int		DEF_AUTHTYPE			= AUTH_LOGIN;		// 擣徹庬暿
	public static final boolean	DEF_ALLOW_SELECTED_AUTH_TYPE	= false;	// 擣徹庬暿慖戰嫋壜僼儔僌
	public static final String	DEF_BACKGROUND_IMAGE	= "background.gif";	// 僶僢僋僌儔儞僪僀儊乕僕
	public static final int		DEF_CLIENT				= CLIENT_WINDOWS;	// 抂枛庬暿
	public static final String	DEF_LANGUAGE			= "";				// 尵岅
	public static final int		DEF_PREF_ID				= 0;				// 弶婜愝掕忣曬ID
	
	// 嵟戝擖椡挿
	public static final int		MAX_CARD_RW_ADDR_LEN	= 16;				// 僇乕僪RW傾僪儗僗嵟戝挿
	public static final int		MAX_HOST_LEN			= 256;				// 儂僗僩柤嵟戝挿
	public static final int		MAX_PATH_LEN			= 256;				// 僷僗柤嵟戝挿
	
	// 擖椡嵟戝丄嵟彫抣
	public static final int		MAX_FELICA_SYS_CODE		= 0xffff;			// 僼僃儕僇僔僗僥儉僐乕僪嵟戝抣
	public static final int		MIN_FELICA_SYS_CODE		= 0x0000;			// 僼僃儕僇僔僗僥儉僐乕僪嵟彫抣
	public static final int		MAX_PORT_NUM			= 65535;			// 億乕僩斣崋嵟戝抣
	public static final int		MIN_PORT_NUM			= 1;				// 億乕僩斣崋嵟彫抣
	public static final int		MAX_SESSION_TIMER_VALUE	= 3600;				// 僙僢僔儑儞僞僀儉傾僂僩抣嵟戝抣
	public static final int		MIN_SESSION_TIMER_VALUE	= 30;				// 僙僢僔儑儞僞僀儉傾僂僩抣嵟彫抣
	
	public static final int		AUTH_LOGINID			= 1;
	private String					fileName;
	private Vector					vcPrefInfos;
	private int					curIdx;
	

	public PreferenceInfo() {
	//	this.fileName = XML_FILE_NAME;
		this.fileName = XML_FILE_NAME;
		this.curIdx = DEF_PREF_ID;
		this.vcPrefInfos = new Vector();
	}

	
	public Vector getAllPreferenceInfos() {
		return vcPrefInfos;
	}
	
	public void setAllPreferenceInfos(Vector vcPrefInfos) {
		this.vcPrefInfos = vcPrefInfos;
	}
	
	public void addPreferenceInfo(PreferenceInfoElement prefInfo) {
		this.vcPrefInfos.addElement(prefInfo);
	}
	
	public PreferenceInfoElement getPreferenceInfo(int idx) {
		if (idx >= 0 && idx < vcPrefInfos.size()) {
			return (PreferenceInfoElement)vcPrefInfos.elementAt(idx);
		}
		
		return null;
	}
	
	public void deletePreferenceInfo(int idx) {
		if (idx >= 0 && idx < vcPrefInfos.size()) {
			this.vcPrefInfos.remove(idx);
		}
	}
	
	public void deleteAllPreferenceInfos() {
		this.vcPrefInfos.removeAllElements();
	}
	
	public int getCurIdx() {
		return curIdx;
	}
	
	public void setCurIdx(int curIdx) {
		this.curIdx = curIdx;
	}
	
	public String getBackgroundImageName() {
		return getBackgroundImageName(curIdx);
	}
	
	private String getBackgroundImageName(int idx) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return DEF_BACKGROUND_IMAGE;
		}
		return ((PreferenceInfoElement)vcPrefInfos.elementAt(idx)).getBackgroundImageName();
	}
	
	public void setBackgroundImageName(String backgroundImage) {
		setBackgroundImageName(curIdx, backgroundImage);
	}
	
	private void setBackgroundImageName(int idx, String backgroundImage) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return;
		}
		PreferenceInfoElement	prefInfo = (PreferenceInfoElement)vcPrefInfos.elementAt(idx);
		prefInfo.setBackgroundImageName(backgroundImage);
		vcPrefInfos.setElementAt(prefInfo, idx);
	}
	
	public int getClientKind() {
		String	client = System.getProperty("os.name", "");
		if (client.indexOf("Mac") >= 0) {
			return CLIENT_MAC;
		}
		
		return CLIENT_WINDOWS;
	}
	
	public void setClientKind(int clientKind) {
	}
	
	public void setDebug(boolean debug) {
		setDebug(curIdx, debug);
	}
	
	private void setDebug(int idx, boolean debug) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return;
		}
		PreferenceInfoElement	prefInfo = (PreferenceInfoElement)vcPrefInfos.elementAt(idx);
		prefInfo.setDebug(debug);
		vcPrefInfos.setElementAt(prefInfo, idx);
	}
	
	public boolean isDebug() {
		return isDebug(curIdx);
	}
	
	private boolean isDebug(int idx) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return DEF_DEBUG;
		}
		
		return ((PreferenceInfoElement)vcPrefInfos.elementAt(idx)).isDebug();
	}
	
	public String getLanguage() {
		return getLanguage(curIdx);
	}
	
	private String getLanguage(int idx) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return DEF_LANGUAGE;
		}
		
		return ((PreferenceInfoElement)vcPrefInfos.elementAt(idx)).getLanguage();
	}
	
	public void setLanguage(String language) {
		setLanguage(curIdx, language);
	}
	
	private void setLanguage(int idx, String language) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return;
		}
		PreferenceInfoElement	prefInfo = (PreferenceInfoElement)vcPrefInfos.elementAt(idx);
		if (language == null) {
			prefInfo.setLanguage("");
		} else {
			prefInfo.setLanguage(language);
		}
		vcPrefInfos.setElementAt(prefInfo, idx);
	}
	
	public boolean isPaperInfoSupport() {
		return isPaperInfoSupport(curIdx);
	}
	
	private boolean isPaperInfoSupport(int idx) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return DEF_PAPER_INFO_SUPPORT;
		}
		
		return ((PreferenceInfoElement)vcPrefInfos.elementAt(idx)).isPaperInfoSupport();
	}
	
	public void setPaperInfoSupport(boolean paperInfoSupport) {
		setPaperInfoSupport(curIdx, paperInfoSupport);
	}
	
	private void setPaperInfoSupport(int idx, boolean paperInfoSupport) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return;
		}
		PreferenceInfoElement	prefInfo = (PreferenceInfoElement)vcPrefInfos.elementAt(idx);
		prefInfo.setPaperInfoSupport(paperInfoSupport);
		vcPrefInfos.setElementAt(prefInfo, idx);
	}
	
	public String getVender() {
		return getVender(curIdx);
	}
	
	private String getVender(int idx) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return DEF_VENDER;
		}
		
		return ((PreferenceInfoElement)vcPrefInfos.elementAt(idx)).getVender();
	}
	
	public void setVender(String vender) {
		setVender(curIdx, vender);
	}
	
	private void setVender(int idx, String vender) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return;
		}
		PreferenceInfoElement	prefInfo = (PreferenceInfoElement)vcPrefInfos.elementAt(idx);
		prefInfo.setVender(vender);
		vcPrefInfos.setElementAt(prefInfo, idx);
	}
	
	public int getSessionTimerValue() {
		return getSessionTimerValue(curIdx);
	}
	
	private int getSessionTimerValue(int idx) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return DEF_SESSION_TIMER_VALUE;
		}
		
		return ((PreferenceInfoElement)vcPrefInfos.elementAt(idx)).getSessionTimerValue();
	}
	
	public void setSessionTimerValue(int sessionTimerValue) {
		setSessionTimerValue(curIdx, sessionTimerValue);
	}
	
	private void setSessionTimerValue(int idx, int sessionTimerValue) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return;
		}
		PreferenceInfoElement	prefInfo = (PreferenceInfoElement)vcPrefInfos.elementAt(idx);
		prefInfo.setSessionTimerValue(sessionTimerValue);
		vcPrefInfos.setElementAt(prefInfo, idx);
	}
	
	public String getCardRWAddr() {
		return getCardRWAddr(curIdx);
	}
	
	private String getCardRWAddr(int idx) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return DEF_CARD_RW_ADDR;
		}
		
		return ((PreferenceInfoElement)vcPrefInfos.elementAt(idx)).getCardRWAddr();
	}
	
	public void setCardRWAddr(String cardRWAddr) {
		setCardRWAddr(curIdx, cardRWAddr);
	}
	
	private void setCardRWAddr(int idx, String cardRWAddr) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return;
		}
		PreferenceInfoElement	prefInfo = (PreferenceInfoElement)vcPrefInfos.elementAt(idx);
		prefInfo.setCardRWAddr(cardRWAddr);
		vcPrefInfos.setElementAt(prefInfo, idx);
	}
	
	public int getFelicaSysCode() {
		return getFelicaSysCode(curIdx);
	}
	
	private int getFelicaSysCode(int idx) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return DEF_FELICA_SYS_CODE;
		}
	
		return ((PreferenceInfoElement)vcPrefInfos.elementAt(idx)).getFelicaSysCode();
	}
	
	public void setFelicaSysCode(int felicaSysCode) {
		setFelicaSysCode(curIdx, felicaSysCode);
	}
	
	private void setFelicaSysCode(int idx, int felicaSysCode) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return;
		}
		PreferenceInfoElement	prefInfo = (PreferenceInfoElement)vcPrefInfos.elementAt(idx);
		prefInfo.setFelicaSysCode(felicaSysCode);
		vcPrefInfos.setElementAt(prefInfo, idx);
	}
	
	public String getHost() {
		return getHost(curIdx);
	}
	
	private String getHost(int idx) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return DEF_HOST;
		}
		
		return ((PreferenceInfoElement)vcPrefInfos.elementAt(idx)).getHost();
	}
	
	public void setHost(String host) {
		setHost(curIdx, host);
	}
	
	private void setHost(int idx, String host) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return;
		}
		PreferenceInfoElement	prefInfo = (PreferenceInfoElement)vcPrefInfos.elementAt(idx);
		prefInfo.setHost(host);
		vcPrefInfos.setElementAt(prefInfo, idx);
	}
	
	public int getPort() {
		return getPort(curIdx);
	}
	
	private int getPort(int idx) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return DEF_PORT;
		}
		
		return ((PreferenceInfoElement)vcPrefInfos.elementAt(idx)).getPort();
	}
	
	public void setPort(int port) {
		setPort(curIdx, port);
	}
	
	private void setPort(int idx, int port) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return;
		}
		PreferenceInfoElement	prefInfo = (PreferenceInfoElement)vcPrefInfos.elementAt(idx);
		prefInfo.setPort(port);
		vcPrefInfos.setElementAt(prefInfo, idx);
	}
	
	public boolean isUseHttps() {
		return isUseHttps(curIdx);
	}
	
	private boolean isUseHttps(int idx) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return DEF_USE_HTTPS;
		}
		
		return ((PreferenceInfoElement)vcPrefInfos.elementAt(idx)).isUseHttps();
	}
	
	public void setUseHttps(boolean useHttps) {
		setUseHttps(curIdx, useHttps);
	}
	
	private void setUseHttps(int idx, boolean useHttps) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return;
		}
		PreferenceInfoElement	prefInfo = (PreferenceInfoElement)vcPrefInfos.elementAt(idx);
		prefInfo.setUseHttps(useHttps);
		vcPrefInfos.setElementAt(prefInfo, idx);
	}
	
	public String getPath() {
		return getPath(curIdx);
	}
	
	private String getPath(int idx) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return DEF_PATH;
		}
		
		return ((PreferenceInfoElement)vcPrefInfos.elementAt(idx)).getPath();
	}
	
	public void setPath(String path) {
		setPath(curIdx, path);
	}
	
	private void setPath(int idx, String path) {
		if (idx < 0 || idx >= vcPrefInfos.size()) {
			return;
		}
		PreferenceInfoElement	prefInfo = (PreferenceInfoElement)vcPrefInfos.elementAt(idx);
		prefInfo.setPath(path);
		vcPrefInfos.setElementAt(prefInfo, idx);
	}
	
	public String getDocBase() {
		return getDocBase(curIdx);
	}
	
	private String getDocBase(int idx) {
		return (isUseHttps(idx) ? HTTPS_STR : HTTP_STR) + getHost(idx) + ":" + Integer.toString(getPort(idx)) + getPath(idx) + SERVLET_DIR_STR;
	}

⌨️ 快捷键说明

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