亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
91麻豆福利精品推荐| 成人精品在线视频观看| 亚洲另类中文字| 国产欧美日韩精品一区| 欧美一级一区二区| 91精品国产综合久久福利软件 | 国产女同互慰高潮91漫画| 91精品国产91久久久久久一区二区| 日本国产一区二区| 91麻豆精品视频| 欧美在线高清视频| 日本丰满少妇一区二区三区| 91蜜桃在线观看| 在线观看日韩毛片| 欧美色图一区二区三区| 欧美亚洲综合另类| 欧美一二区视频| 精品免费日韩av| 久久久一区二区三区捆绑**| 国产欧美日韩不卡| 国产精品久久久久久久久图文区 | 成人欧美一区二区三区在线播放| 日本一区二区视频在线| 亚洲三级电影网站| 亚洲综合精品自拍| 奇米888四色在线精品| 日韩经典中文字幕一区| 免费在线观看视频一区| 精品一区二区三区日韩| 成人a区在线观看| 欧美无砖砖区免费| 26uuu亚洲综合色欧美| 国产精品成人一区二区艾草| 亚洲午夜在线电影| 国产一区二区三区四区五区美女| 成人国产精品视频| 91精选在线观看| 国产精品麻豆99久久久久久| 一区二区三区加勒比av| 久久福利视频一区二区| 成人美女视频在线看| 欧美日韩一区小说| 久久久久久久久免费| 亚洲精品菠萝久久久久久久| 精品一区二区免费视频| 欧美亚洲一区三区| 亚洲欧洲av一区二区三区久久| 日韩二区三区四区| gogo大胆日本视频一区| 2020国产精品| 日韩高清在线观看| 欧美系列在线观看| 国产精品久久久一本精品| 毛片一区二区三区| 欧美色综合影院| 日韩一区日韩二区| 国产精品2024| 欧美一区二区三区啪啪| 亚洲靠逼com| 91最新地址在线播放| 国产日韩欧美综合在线| 日韩国产在线一| 在线观看一区二区视频| 日韩毛片高清在线播放| 国产美女一区二区| 精品免费日韩av| 免费美女久久99| 欧美日韩国产免费一区二区| 亚洲免费观看高清| 99国产精品久久久久久久久久久| 国产亚洲1区2区3区| 日韩av电影天堂| 欧美一区二区在线播放| 丝袜亚洲另类欧美| 欧美电影一区二区三区| 亚洲国产人成综合网站| 在线看国产一区| 亚洲二区在线视频| 日本电影亚洲天堂一区| 亚洲精品成人精品456| 色婷婷av一区二区三区gif| 亚洲日本电影在线| 色哟哟国产精品免费观看| 亚洲女人****多毛耸耸8| 色香蕉久久蜜桃| 亚洲视频一区在线| 欧美日韩午夜在线| 蜜臀av一区二区在线免费观看| 精品久久人人做人人爰| 国产盗摄一区二区| 亚洲欧美日韩国产另类专区| 91论坛在线播放| 亚洲va国产va欧美va观看| 欧美日本一区二区三区| 日本亚洲电影天堂| 久久久精品综合| 99久久婷婷国产| 亚洲国产日日夜夜| 欧美一级搡bbbb搡bbbb| 黄页网站大全一区二区| 国产精品嫩草久久久久| 色婷婷综合久色| 免费欧美在线视频| 中国色在线观看另类| 欧美综合久久久| 久久99这里只有精品| 国产精品三级视频| 欧美日韩日日摸| 狠狠狠色丁香婷婷综合激情| 国产日产欧美一区| 91久久精品日日躁夜夜躁欧美| 天天av天天翘天天综合网色鬼国产| 欧美大片免费久久精品三p | 国产精品黄色在线观看| 色狠狠桃花综合| 久久电影网站中文字幕| 国产精品高潮呻吟久久| 日韩欧美国产综合| 日本二三区不卡| 国产一区二区三区国产| 一区二区在线观看不卡| 精品国产一二三| 欧美剧情片在线观看| 成人涩涩免费视频| 久久99久国产精品黄毛片色诱| 亚洲视频一区在线| 久久九九久久九九| 日韩精品专区在线影院重磅| 色综合久久88色综合天天免费| 国产一区三区三区| 日韩在线a电影| 亚洲天堂中文字幕| 国产日韩高清在线| 欧美一级精品在线| 精品视频1区2区| 91丨porny丨首页| 国内外成人在线| 日本美女一区二区三区视频| 一区二区三区四区乱视频| 国产三级久久久| 久久久精品tv| 久久亚洲综合av| 日韩三级免费观看| 欧美卡1卡2卡| 欧美日韩精品一二三区| 在线观看免费视频综合| 91啪亚洲精品| 91丝袜美腿高跟国产极品老师 | 亚洲一级在线观看| 中文字幕在线不卡| 中文字幕欧美三区| 精品国产亚洲一区二区三区在线观看| 欧美精品乱人伦久久久久久| 在线免费观看一区| 欧美在线免费观看视频| 在线精品观看国产| 欧美片网站yy| 欧美一级一区二区| 日韩精品一区在线观看| 久久先锋影音av| 久久久精品国产免费观看同学| 久久久久国产一区二区三区四区| 久久―日本道色综合久久| 久久久久久久久久看片| 国产精品成人免费| 亚洲综合色噜噜狠狠| 亚洲成人综合在线| 国产成人鲁色资源国产91色综| 久久精品国产精品亚洲综合| 国产一区二区三区久久久| 风间由美性色一区二区三区| 成人h动漫精品| 欧美日韩精品三区| 欧美tickling挠脚心丨vk| 精品99999| 综合久久久久久久| 亚洲福利电影网| 精品一区中文字幕| 顶级嫩模精品视频在线看| 色综合天天性综合| 6080日韩午夜伦伦午夜伦| 精品国产成人系列| 国产精品久久福利| 日韩中文字幕一区二区三区| 老司机免费视频一区二区三区| 东方aⅴ免费观看久久av| 欧亚一区二区三区| 精品国产免费视频| 国产精品对白交换视频| 一区二区三区国产| 国产自产视频一区二区三区| 99在线热播精品免费| 欧美疯狂做受xxxx富婆| 国产视频不卡一区| 亚洲v日本v欧美v久久精品| 国产麻豆成人传媒免费观看| 91美女片黄在线| 精品久久人人做人人爽| 亚洲男同性视频| 国产成人亚洲综合a∨婷婷|