亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? commandfactory.java

?? 關于 RFID 讀寫器的相關內容
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
/*
 * Copyright (C) 2007 ETH Zurich
 *
 * This file is part of Fosstrak (www.fosstrak.org).
 *
 * Fosstrak is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License version 2.1, as published by the Free Software Foundation.
 *
 * Fosstrak is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with Fosstrak; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA  02110-1301  USA
 */

package org.fosstrak.reader.rp.proxy.msg;

import java.io.StringWriter;
import java.util.Calendar;
import java.util.Collection;
import java.util.Iterator;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;

import org.fosstrak.reader.rp.proxy.msg.stubs.DataSelector;
import org.fosstrak.reader.rp.proxy.msg.stubs.NotificationChannel;
import org.fosstrak.reader.rp.proxy.msg.stubs.ReadPoint;
import org.fosstrak.reader.rp.proxy.msg.stubs.Source;
import org.fosstrak.reader.rp.proxy.msg.stubs.TagField;
import org.fosstrak.reader.rp.proxy.msg.stubs.TagFieldValue;
import org.fosstrak.reader.rp.proxy.msg.stubs.TagSelector;
import org.fosstrak.reader.rp.proxy.msg.stubs.Trigger;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.DataSelectorSerializer;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.EventTypeSerializer;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.FieldNameSerializer;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.NotificationChannelSerializer;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.ReadPointSerializer;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.ReaderDeviceSerializer;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.SourceSerializer;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.TagFieldSerializer;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.TagSelectorSerializer;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.TriggerSerializer;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.TriggerTypeSerializer;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.xml.DataSelectorSerializerImpl;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.xml.EventTypeSerializerImpl;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.xml.FieldNameSerializerImpl;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.xml.NotificationChannelSerializerImpl;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.xml.ReadPointSerializerImpl;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.xml.ReaderDeviceSerializerImpl;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.xml.SourceSerializerImpl;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.xml.TagFieldSerializerImpl;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.xml.TagSelectorSerializerImpl;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.xml.TriggerSerializerImpl;
import org.fosstrak.reader.rp.proxy.msg.stubs.serializers.xml.TriggerTypeSerializerImpl;
import org.fosstrak.reader.rprm.core.ReaderProtocolException;
import org.fosstrak.reader.rprm.core.msg.MessageSerializingException;
import org.fosstrak.reader.rprm.core.msg.command.Command;
import org.fosstrak.reader.rprm.core.msg.command.NotificationChannelCommand;
import org.fosstrak.reader.rprm.core.msg.command.ObjectFactory;
import org.fosstrak.reader.rprm.core.msg.command.SourceCommand;

/**
 * This class generates xml and text commands to send to a reader device.
 * 
 * @author Andreas F黵er, Remo Egli
 */
public class CommandFactory {

	/** count message ids */
	private static int counter = 0;
	
	/**
	 * This method creates xml commands.
	 * 
	 * @param object the type of the object on which the method should be executed
	 * @param command which should be executed
	 * @param params parameters which belongs to the command
	 * @param target the name of the object on which the method should be executed
	 * @return the command in xml format as string
	 * @throws ParameterTypeException if the parameters are illegal
	 */
	public static String getXMLCommand(String object, String command, Parameter[] params, String target) throws ParameterTypeException {
		
		ObjectFactory cmdFactory = new ObjectFactory();
		Command cmd = cmdFactory.createCommand();
		cmd.setId(Integer.toString(getNextId()));
		if (!target.equals("")) {
			cmd.setTargetName(target);
		}
		if (object.equals("ReaderDevice")) {
			ReaderDeviceSerializer rdCommand = new ReaderDeviceSerializerImpl(getNextId(), target);
			if (command.equals("getEPC")) {
				return rdCommand.getEPC();
			}
			else if (command.equals("getManufacturer")) {
				return rdCommand.getManufacturer();
			}
			else if (command.equals("getModel")) {
				return rdCommand.getModel();
			}
			else if (command.equals("getHandle")) {
				return rdCommand.getHandle();
			}
			else if (command.equals("setHandle")) {
				return rdCommand.setHandle(params[0].getInt());
			}
			
			else if (command.equals("getName")) {
				return rdCommand.getName();
			}
			else if (command.equals("setName")) {
				return rdCommand.setName(params[0].getString());
			}
			else if (command.equals("getRole")) {
				return rdCommand.getRole();
			}
			else if (command.equals("setRole")) {
				return rdCommand.setRole(params[0].getString());
			}
			else if (command.equals("getTimeTicks")) {
				return rdCommand.getTimeTicks();
			}
			else if (command.equals("getTimeUTC")) {
				return rdCommand.getTimeUTC();
			}
			else if (command.equals("setTimeUTC")) {
				return rdCommand.setTimeUTC(Calendar.getInstance().getTime()); 
			}
			else if (command.equals("getManufacturerDescription")) {
				return rdCommand.getManufacturerDescription();
			}
			else if (command.equals("getCurrentSource")) {
				return rdCommand.getCurrentSource();
			}
			else if (command.equals("setCurrentSource")) {
				Source src;
				try {
					src = Source.create(params[0].getString());
					return rdCommand.setCurrentSource(src);
				} catch (ReaderProtocolException e) {
					e.printStackTrace();
					return null;
				} 
				
			}
			else if (command.equals("getCurrentDataSelector")) {
				return rdCommand.getCurrentDataSelector();
			}
			else if (command.equals("setCurrentDataSelector")) {
				DataSelector ds;
				try {
					ds = DataSelector.create(params[0].getString());
					return rdCommand.setCurrentDataSelector(ds);
				} catch (ReaderProtocolException e) {
					e.printStackTrace();
					return null;
				}					
			}
			else if (command.equals("removeSources")) {
				Source[] sources = toSourceArray(params[0].getCollection());
				return rdCommand.removeSources(sources);
			}
			else if (command.equals("removeAllSources")) {
				return rdCommand.removeAllSources();
			}
			else if (command.equals("getSource")) {
				return rdCommand.getSource(params[0].getString());
			}
			else if (command.equals("getAllSources")) {
				return rdCommand.getAllSources();
			}
			else if (command.equals("removeDataSelectors")) {
				DataSelector[] ds = toDataSelectorArray(params[0].getCollection());
				return rdCommand.removeDataSelectors(ds);
			}
			else if (command.equals("removeAllDataSelectors")) {
				return rdCommand.removeAllDataSelectors();
			}
			else if (command.equals("getDataSelector")) {
				return rdCommand.getDataSelector(params[0].getString());
			}
			else if (command.equals("getAllDataSelectors")) {
				return rdCommand.getAllDataSelectors();
			}
			else if (command.equals("removeNotificationChannels")) {
				NotificationChannel[] ncs = toNotificationChannelArray(params[0].getCollection());
				return rdCommand.removeNotificationChannels(ncs);
			}
			else if (command.equals("removeAllNotificationChannels")) {
				return rdCommand.removeAllNotificationChannels();
			}
			else if (command.equals("getNotificationChannel")) {
				return rdCommand.getNotificationChannel(params[0].getString());
			}
			else if (command.equals("getAllNotificationChannels")) {
				return rdCommand.getAllNotificationChannels();
			}
			else if (command.equals("removeTriggers")) {
				Trigger[] trgs = toTriggerArray(params[0].getCollection());
				return rdCommand.removeTriggers(trgs);
			}
			else if (command.equals("removeAllTriggers")) {
				return rdCommand.removeAllTriggers();
			}
			else if (command.equals("getTrigger")) {
				return rdCommand.getTrigger(params[0].getString());
			}
			else if (command.equals("getAllTriggers")) {
				return rdCommand.getAllTriggers();
			}
			else if (command.equals("removeTagSelectors")) {
				TagSelector[] tss = toTagSelectorArray(params[0].getCollection());
				return rdCommand.removeTagSelectors(tss);
			}
			else if (command.equals("removeAllTagSelectors")) {
				return rdCommand.removeAllTagSelectors();
			}
			else if (command.equals("getTagSelector")) {
				return rdCommand.getTagSelector(params[0].getString());
			}
			else if (command.equals("getAllTagSelectors")) {
				return rdCommand.getAllTagSelectors();
			}
			else if (command.equals("removeTagFields")) {
				TagField[] tfs = toTagFieldArray(params[0].getCollection());
				return rdCommand.removeTagFields(tfs);
			}
			else if (command.equals("removeAllTagFields")) {
				return rdCommand.removeAllTagFields();
			}
			else if (command.equals("getTagField")) {
				return rdCommand.getTagField(params[0].getString());
			}
			else if (command.equals("getAllTagFields")) {
				return rdCommand.getAllTagFields();
			}
			else if (command.equals("resetToDefaultSettings")) {
				return rdCommand.resetToDefaultSettings();
			}
			else if (command.equals("reboot")) {
				return rdCommand.reboot();
			}
			else if (command.equals("goodbye")) {
				return rdCommand.goodbye();
			}
			else if (command.equals("getReadPoint")) {
				return rdCommand.getReadPoint(params[0].getString());
			}
			else if (command.equals("getAllReadPoints")) {
				return rdCommand.getAllReadPoints();
			}
		}
		else if (object.equals("Source")) {
			SourceSerializer srcCommand = new SourceSerializerImpl(getNextId(), target);
			if (command.equals("create")) {
				return srcCommand.create(params[0].getString());
			}
			else if (command.equals("getName")) {
				return srcCommand.getName();
			}
			else if (command.equals("isFixed")) {
				return srcCommand.isFixed();
			}
			else if (command.equals("addReadPoints")) {
				ReadPoint[] rps = toReadPointArray(params[0].getCollection());
				return srcCommand.addReadPoints(rps);
			}
			else if (command.equals("removeReadPoints")) {
				ReadPoint[] rps = toReadPointArray(params[0].getCollection());
				return srcCommand.removeReadPoints(rps);
			}
			else if (command.equals("removeAllReadPoints")) {
				return srcCommand.removeAllReadPoints();
			}
			else if (command.equals("getReadPoint")) {
				return srcCommand.getReadPoint(params[0].getString());
			}
			else if (command.equals("getAllReadPoints")) {
				return srcCommand.getAllReadPoints();
			}
			else if (command.equals("addReadTriggers")) {
				Trigger[] rtrg = toTriggerArray(params[0].getCollection());
				return srcCommand.addReadTriggers(rtrg);
			}
			else if (command.equals("removeReadTriggers")) {
				Trigger[] rtrgs = toTriggerArray(params[0].getCollection());
				return srcCommand.removeReadTriggers(rtrgs);
			}
			else if (command.equals("removeAllReadTriggers")) {
				return srcCommand.removeAllReadTriggers();
			}
			else if (command.equals("getReadTrigger")) {
				return srcCommand.getReadTrigger(params[0].getString());
			}
			else if (command.equals("getAllReadTriggers")) {
				return srcCommand.getAllReadTriggers();
			}
			else if (command.equals("addTagSelectors")) {
				TagSelector[] tss = toTagSelectorArray(params[0].getCollection());
				return srcCommand.addTagSelectors(tss);
			}
			else if (command.equals("removeTagSelectors")) {
				TagSelector[] tss = toTagSelectorArray(params[0].getCollection());
				return srcCommand.removeTagSelectors(tss);
			}
			else if (command.equals("removeAllTagSelectors")) {
				return srcCommand.removeAllTagSelectors();
			}
			else if (command.equals("getTagSelector")) {
				return srcCommand.getTagSelector(params[0].getString());
			}
			else if (command.equals("getAllTagSelectors")) {
				return srcCommand.getAllTagSelectors();
			}
			else if (command.equals("getGlimpsedTimeout")) {
				return srcCommand.getGlimpsedTimeout();
			}
			else if (command.equals("setGlimpsedTimeout")) {
				return srcCommand.setGlimpsedTimeout(params[0].getInt());
			}
			else if (command.equals("getObservedThreshold")) {
				return srcCommand.getObservedThreshold();
			}
			else if (command.equals("setObservedThreshold")) {
				return srcCommand.setObservedThreshold(params[0].getInt());
			}
			else if (command.equals("getObservedTimeout")) {
				return srcCommand.getObservedTimeout();
			}
			else if (command.equals("setObservedTimeout")) {
				return srcCommand.setObservedTimeout(params[0].getInt());
			}
			else if (command.equals("getLostTimeout")) {
				return srcCommand.getLostTimeout();
			}
			else if (command.equals("setLostTimeout")) {
				return srcCommand.setLostTimeout(params[0].getInt());
			}
			else if (command.equals("rawReadIDs")) {
				SourceCommand.RawReadIDs r = cmdFactory.createSourceCommandRawReadIDs();
				if (params.length > 0) { //optional parameter is set
					try{
						DataSelector ds = DataSelector.create(params[0].getString());
						return srcCommand.rawReadIDs(ds);
					} catch (Exception e) {}
				} else {
					return srcCommand.rawReadIDs(null);
				}
				
			}
			else if (command.equals("readIDs")) {
				SourceCommand.ReadIDs r = cmdFactory.createSourceCommandReadIDs();
				if (params.length > 0) { //optional parameter is set
					try	{
						DataSelector ds = DataSelector.create(params[0].getString());
						return srcCommand.readIDs(ds);
					} catch (Exception e) {}
				} else {
					return srcCommand.readIDs(null);
				}
				
			}
			else if (command.equals("read")) {
				SourceCommand.Read r = cmdFactory.createSourceCommandRead();
				if (params.length > 0) { //optional parameter is set
					try {
						DataSelector ds = DataSelector.create(params[0].getString());
						return srcCommand.read(ds, null); //TODO: set Passwords
					} catch (Exception e) {}
				} else {
					return srcCommand.read(null, null);
				}
			}
			else if (command.equals("writeID")) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美自拍偷拍一区| 精品国产乱码久久久久久久久 | 亚洲r级在线视频| 国产精品美女一区二区三区| 久久久久99精品一区| 精品国产一区二区精华| 色视频一区二区| 成人精品电影在线观看| 婷婷开心激情综合| 亚洲综合小说图片| 中文字幕电影一区| 久久精品男人天堂av| 91 com成人网| 精品视频一区三区九区| 久久久国际精品| 日韩亚洲欧美在线观看| 欧美性猛片xxxx免费看久爱| 99久久精品免费看国产免费软件| 久久福利视频一区二区| 亚洲国产一区视频| 一二三区精品福利视频| 一区二区三区成人| 一级特黄大欧美久久久| 亚洲制服丝袜一区| 又紧又大又爽精品一区二区| 亚洲欧洲av色图| 国产精品美女一区二区三区 | 欧美视频中文一区二区三区在线观看| 奇米精品一区二区三区在线观看一| 大尺度一区二区| 精品一区二区三区欧美| 欧美视频一区二区三区四区| 欧美不卡123| 国产suv精品一区二区三区| 久久久久久黄色| 国产精品久久精品日日| 麻豆久久一区二区| 日韩一区二区电影网| 国产日韩精品一区二区三区在线| 亚洲精品免费在线播放| 国内精品嫩模私拍在线| 在线观看区一区二| 国产精品天美传媒| 久久99这里只有精品| 欧美精品在线观看一区二区| 欧美国产日韩a欧美在线观看 | 国产欧美一区二区精品秋霞影院| 欧美精品色综合| 7777精品伊人久久久大香线蕉完整版| 在线影视一区二区三区| 国产成人精品一区二 | 26uuuu精品一区二区| 视频在线观看91| 国产精品毛片大码女人| 国产制服丝袜一区| 国产人成亚洲第一网站在线播放| 成人精品国产免费网站| 亚洲在线成人精品| 精品精品国产高清a毛片牛牛| 国产成人综合网| 中文字幕色av一区二区三区| 日本电影亚洲天堂一区| 婷婷亚洲久悠悠色悠在线播放| 日韩欧美激情在线| 91美女精品福利| 激情综合色播激情啊| 成人欧美一区二区三区在线播放| 欧美日韩免费一区二区三区视频| 久久精品国产秦先生| 中文字幕日韩欧美一区二区三区| 在线播放中文字幕一区| 成人午夜又粗又硬又大| 亚洲bdsm女犯bdsm网站| 国产精品美女久久久久久2018| 欧美精品第1页| 99久久综合99久久综合网站| 麻豆成人91精品二区三区| 亚洲人成影院在线观看| 亚洲精品一区二区精华| 欧美三级韩国三级日本一级| 成人午夜私人影院| 久久 天天综合| 亚洲第一福利视频在线| 中文字幕中文字幕一区| 精品sm在线观看| 欧美日韩国产一级| 色香蕉久久蜜桃| 成人免费看视频| 精品一区二区三区久久| 亚洲午夜影视影院在线观看| 中文乱码免费一区二区| 久久久久国产一区二区三区四区 | 91麻豆免费看| 国产一区二区影院| 日韩av电影免费观看高清完整版 | 日韩电影一区二区三区| 亚洲精品免费播放| 亚洲欧美在线另类| 中文字幕欧美日韩一区| 久久久一区二区三区捆绑**| 日韩三级在线观看| 777久久久精品| 欧美日韩成人一区| 欧美最猛黑人xxxxx猛交| 91欧美激情一区二区三区成人| 成人免费视频视频| 国产91在线|亚洲| 国产剧情一区在线| 国产成人午夜片在线观看高清观看 | 天天综合日日夜夜精品| 亚洲二区视频在线| 丝袜美腿一区二区三区| 午夜精品福利久久久| 日韩精品免费视频人成| 日韩成人午夜电影| 另类小说色综合网站| 国产尤物一区二区在线 | 麻豆一区二区99久久久久| 日韩黄色在线观看| 美日韩一区二区三区| 国产乱国产乱300精品| 国产精品小仙女| 成人app软件下载大全免费| zzijzzij亚洲日本少妇熟睡| 91在线观看免费视频| 欧洲精品视频在线观看| 欧美另类久久久品| 精品日韩一区二区三区 | 亚洲一区二区三区激情| 日韩精品成人一区二区在线| 秋霞国产午夜精品免费视频| 麻豆一区二区三| 国产成人在线视频免费播放| 97国产精品videossex| 欧美日韩精品一区二区三区蜜桃| 欧美人狂配大交3d怪物一区| 精品久久一区二区| 国产精品国产馆在线真实露脸| 成人欧美一区二区三区小说 | 555www色欧美视频| 久久只精品国产| 国产精品国产三级国产有无不卡 | 日韩国产欧美视频| 国产乱国产乱300精品| 色欧美片视频在线观看在线视频| 在线看国产一区二区| 欧美电视剧免费全集观看| 国产精品国产自产拍在线| 首页国产丝袜综合| 成人理论电影网| 91精品国产91久久综合桃花| 国产欧美一区二区三区鸳鸯浴 | 国产在线一区二区综合免费视频| 99精品国产视频| 欧美一卡二卡在线| 亚洲三级在线免费观看| 免费成人深夜小野草| 成人h动漫精品| 精品久久99ma| 亚洲午夜激情网站| 风流少妇一区二区| 日韩精品一区二区三区中文不卡 | 亚洲欧美福利一区二区| 久久国产视频网| 欧美日韩久久久一区| 久久精品一区二区三区不卡| 亚洲国产日韩精品| 成人午夜av电影| 久久婷婷一区二区三区| 三级一区在线视频先锋 | 亚洲电影激情视频网站| 在线这里只有精品| 久久久久9999亚洲精品| 青娱乐精品视频在线| 色婷婷综合久色| 国产精品区一区二区三| 国产精品资源在线看| 91精品国产综合久久香蕉麻豆| 一区二区三区四区激情| 成人国产精品免费| 国产女主播在线一区二区| 国产一区二区三区四区五区入口 | 67194成人在线观看| 亚洲精品国产成人久久av盗摄| 国产91精品在线观看| 亚洲精品一区二区三区蜜桃下载| 丝瓜av网站精品一区二区| 欧美亚洲国产一区二区三区va| 亚洲欧洲日韩综合一区二区| 国产91丝袜在线观看| 国产日韩欧美综合在线| 国产成人高清在线| 久久久久高清精品| 国产精品白丝av| 亚洲国产精品v| 不卡的电影网站| 亚洲免费av观看| 在线精品国精品国产尤物884a| 一区二区三区日韩欧美| 欧美午夜理伦三级在线观看|