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

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

?? commandserializerimpl.java

?? 關于 RFID 讀寫器的相關內容
?? JAVA
字號:
/*
 * 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.stubs.serializers.xml;

import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;

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.CommandSerializer;
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.ObjectFactory;
import org.fosstrak.reader.rprm.core.msg.command.TagFieldValueParamType;
import org.fosstrak.reader.rprm.core.msg.command.TextCommandParserHelper;
import org.fosstrak.reader.rprm.core.msg.util.HexUtil;

/**
 * @author Andreas
 * 
 */
public class CommandSerializerImpl implements CommandSerializer {

	/** the command id */
	private int id;

	/** the target name */
	private String targetName;

	/** the command factory */
	protected ObjectFactory cmdFactory = null;

	/** the command */
	protected Command command = null;

	/** the msg command JAXBContext **/
	private static JAXBContext context = null;
	
	/** the msg command Marshaller **/
	private static Marshaller marshaller = null;

	private CommandSerializerImpl() {
		cmdFactory = new ObjectFactory();
		command = cmdFactory.createCommand();
		try {
         context = JAXBContext
               .newInstance("org.fosstrak.reader.rprm.core.msg.command");
         marshaller = context.createMarshaller();
         marshaller.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT,
               Boolean.TRUE );
      } catch (JAXBException e) {
         // failed, try at serializeCommand() call
      }
	}

	public CommandSerializerImpl(String targetName) {
		this();
		setTargetName(targetName);
	}

	public CommandSerializerImpl(int id) {
		this();
		setId(id);
	}

	public CommandSerializerImpl(int id, String targetName) {
		this();
		setId(id);
		setTargetName(targetName);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.fosstrak.reader.testclient.command.CommandSerializer#setId(java.lang.String)
	 */
	public void setId(int id) {
		this.id = id;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.fosstrak.reader.testclient.command.CommandSerializer#setTargetName(java.lang.String)
	 */
	public void setTargetName(String targetName) {
		this.targetName = targetName;
	}

	/**
	 * Serializes the command.
	 */
	public String serializeCommand() {
		try {
			command.setTargetName(targetName);
			command.setId(Integer.toString(id));
         if (context == null) {
            context = JAXBContext
                  .newInstance("org.fosstrak.reader.rprm.core.msg.command");
         }
         if (marshaller == null) {
            marshaller = context.createMarshaller();
            marshaller.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT,
                  Boolean.TRUE );
         }
			StringWriter sw = new StringWriter();
			try {
				marshaller.marshal(command, sw);
			} catch (JAXBException e) {
				throw new MessageSerializingException(e);
			}
			return sw.getBuffer().toString();
		} catch (Exception e) {
			return "";
		}
	}

	public String toString() {
		return serializeCommand();
	}

	protected void resetCommand() {
		command.setDataSelector(null);
		command.setEventType(null);
		command.setFieldName(null);
		command.setNotificationChannel(null);
		command.setReaderDevice(null);
		command.setReadPoint(null);
		command.setSource(null);
		command.setTagField(null);
		command.setTagSelector(null);
		command.setTrigger(null);
		command.setTriggerType(null);
	}

	/**
	 * Converts a String array into a List of Strings
	 * 
	 * @param strArray
	 *            The String array
	 * @return the List of Strings
	 */
	public List toStringList(String[] strArray) {
		List list = new ArrayList(strArray.length);
		for (int i = 0; i < strArray.length; i++) {
			list.add(strArray[i]);
		}
		return list;
	}

	/**
	 * Converts a Source array into a List of Strings
	 * 
	 * @param srcArray
	 *            The Source array
	 * @return the List of Strings
	 */
	public List toStringList(Source[] srcArray) {
		List list = new ArrayList(srcArray.length);
		for (int i = 0; i < srcArray.length; i++) {
			list.add(srcArray[i].getName());
		}
		return list;
	}

	/**
	 * Converts a Trigger array into a List of Strings
	 * 
	 * @param trgArray
	 *            The Trigger array
	 * @return the List of Strings
	 */
	public List toStringList(Trigger[] trgArray) {
		List list = new ArrayList(trgArray.length);
		for (int i = 0; i < trgArray.length; i++) {
			list.add(trgArray[i].getName());
		}
		return list;
	}

	/**
	 * Converts a DataSelector array into a List of Strings
	 * 
	 * @param dsArray
	 *            The DataSelector array
	 * @return the List of Strings
	 */
	public List toStringList(DataSelector[] dsArray) {
		List list = new ArrayList(dsArray.length);
		for (int i = 0; i < dsArray.length; i++) {
			list.add(dsArray[i].getName());
		}
		return list;
	}

	/**
	 * Converts a NotificationChannel array into a List of Strings
	 * 
	 * @param ncArray
	 *            The NotificationChannel array
	 * @return the List of Strings
	 */
	public List toStringList(NotificationChannel[] ncArray) {
		List list = new ArrayList(ncArray.length);
		for (int i = 0; i < ncArray.length; i++) {
			list.add(ncArray[i].getName());
		}
		return list;
	}

	/**
	 * Converts a TagSelector array into a List of Strings
	 * 
	 * @param tsArray
	 *            The TagSelector array
	 * @return the List of Strings
	 */
	public List toStringList(TagSelector[] tsArray) {
		List list = new ArrayList(tsArray.length);
		for (int i = 0; i < tsArray.length; i++) {
			list.add(tsArray[i].getName());
		}
		return list;
	}

	/**
	 * Converts a TagField array into a List of Strings
	 * 
	 * @param tfArray
	 *            The TagField array
	 * @return the List of Strings
	 */
	public List toStringList(TagField[] tfArray) {
		List list = new ArrayList(tfArray.length);
		for (int i = 0; i < tfArray.length; i++) {
			list.add(tfArray[i].getName());
		}
		return list;
	}

	/**
	 * Converts a ReadPoint array into a List of Strings
	 * 
	 * @param rpArray
	 *            The ReadPoint array
	 * @return the List of Strings
	 */
	public List toStringList(ReadPoint[] rpArray) {
		List list = new ArrayList(rpArray.length);
		for (int i = 0; i < rpArray.length; i++) {
			list.add(rpArray[i].getName());
		}
		return list;
	}

	/**
	 * Creates a copy of the internal list of parameters. The list items are
	 * represented as <code>byte[]</code> used in <source>source.writeID(...)</code>.
	 * 
	 * @param strArray
	 *            Array of Strings with hex values (passwords, tag ids, ...)
	 * @return List of <code>byte[]</code>
	 */
	public List toHexStringList(String[] strArray) {

		List hexList = new ArrayList(strArray.length);
		for (int i = 0; i < strArray.length; i++) {
			byte[] hexArray = HexUtil.hexToByteArray(strArray[i]);
			hexList.add(hexArray);
		}
		return hexList;

	}

	/**
	 * Creates a copy of the internal list of parameters. The list items are
	 * represented as <code>TagFieldValueParamType</code> used in
	 * <source>source.write(...)</code>.
	 * 
	 * @param tfArray
	 *            TagFieldValue array
	 * @return List of <code>TagFieldValueParamType</code>
	 * @throws JAXBException
	 * @see org.fosstrak.reader.msg.command.TagFieldValueParamType
	 */
	public List toTagFieldValueList(TagFieldValue[] tfArray)
			throws JAXBException {
		List tfvList = new ArrayList(tfArray.length);
		for (int i = 0; i < tfArray.length; i++) {
			TagFieldValueParamType tfvParam = TextCommandParserHelper.cmdFactory
					.createTagFieldValueParamType();
			tfvParam.setTagFieldName(tfArray[i].getTagFieldName());
			tfvParam.setTagFieldValue(HexUtil.hexToByteArray(tfArray[i]
					.getValue()));
			tfvList.add(tfvParam);
		}
		return tfvList;

	}

	public void setProperty(String name, Object value) {
		//No properties for XML implementation, ignore it.		
	}
	
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品麻豆日日躁夜夜躁| 成人午夜激情在线| 狠狠色伊人亚洲综合成人| 国产裸体歌舞团一区二区| 97精品超碰一区二区三区| 777午夜精品视频在线播放| 精品黑人一区二区三区久久| 国产精品三级在线观看| 亚洲一区二区三区中文字幕| 美女国产一区二区三区| av电影在线观看完整版一区二区| 欧美性猛交xxxxxx富婆| 精品少妇一区二区三区视频免付费| 国产精品久久久久久久久动漫 | 蜜臀av性久久久久av蜜臀妖精| 国产在线精品不卡| 国产午夜亚洲精品理论片色戒 | 波多野结衣中文字幕一区| 欧美综合天天夜夜久久| 国产亚洲精品久| 亚洲国产一区二区三区| 国产在线观看免费一区| 欧美视频一区二| 亚洲精品一区在线观看| 亚洲一区二区不卡免费| 国产福利不卡视频| 欧美久久一二区| 亚洲视频在线观看一区| 欧美aaaaa成人免费观看视频| fc2成人免费人成在线观看播放 | 免费人成黄页网站在线一区二区| 成人av网站免费观看| 欧美丰满少妇xxxxx高潮对白| 国产精品免费视频网站| 麻豆91精品91久久久的内涵| 96av麻豆蜜桃一区二区| www久久精品| 日韩精品五月天| 在线亚洲一区观看| 国产精品天干天干在观线| 日本不卡高清视频| 欧美日韩在线观看一区二区 | 日本网站在线观看一区二区三区| 91天堂素人约啪| 国产女主播视频一区二区| 免费成人美女在线观看.| 欧美在线一区二区三区| 亚洲三级在线观看| 国产成人在线观看| 欧美精品一区二区不卡| 日韩高清欧美激情| 欧美久久婷婷综合色| 一区二区高清在线| 91女人视频在线观看| 中文字幕一区二区三区四区| 国产成人在线视频网址| 欧美va亚洲va| 寂寞少妇一区二区三区| 欧美成人女星排行榜| 男女性色大片免费观看一区二区| 欧美日韩国产影片| 午夜在线电影亚洲一区| 99re这里只有精品6| 中文字幕一区日韩精品欧美| 成人av资源网站| 中文字幕国产精品一区二区| 国产电影精品久久禁18| 久久久久久久久久看片| 国产精品一区2区| 国产蜜臀97一区二区三区| 国产精品综合视频| 久久精品一区二区三区av| 国产成人精品影视| 蜜臀精品一区二区三区在线观看| 在线观看av一区二区| 亚洲超丰满肉感bbw| 欧美婷婷六月丁香综合色| 亚洲成av人综合在线观看| 欧美三级在线视频| 日本欧美一区二区三区| 欧美mv和日韩mv的网站| 国内外成人在线| 国产三级精品在线| eeuss国产一区二区三区| 亚洲乱码精品一二三四区日韩在线| 99久久久国产精品免费蜜臀| 亚洲乱码中文字幕综合| 欧美美女一区二区在线观看| 日韩精品91亚洲二区在线观看 | 麻豆专区一区二区三区四区五区| 欧美一级理论片| 国产一区二区看久久| 国产欧美一区二区三区在线看蜜臀 | 99国产一区二区三精品乱码| 亚洲免费av高清| 欧美精品一卡二卡| 狠狠色丁香九九婷婷综合五月| 中文字幕+乱码+中文字幕一区| 97se亚洲国产综合自在线 | 欧美日韩国产在线观看| 麻豆精品一区二区综合av| 国产日韩欧美精品综合| 色综合久久九月婷婷色综合| 亚洲二区在线视频| 日韩欧美一级二级三级| 国产成人精品免费网站| 亚洲免费三区一区二区| 日韩一区二区免费高清| 国产成人啪午夜精品网站男同| 国产精品免费人成网站| 在线观看91视频| 激情综合网最新| 一区在线观看视频| 欧美老人xxxx18| 国产成人欧美日韩在线电影| 亚洲最大的成人av| 精品国产第一区二区三区观看体验 | 欧美一区二区视频在线观看2020| 国产精品亚洲а∨天堂免在线| 综合分类小说区另类春色亚洲小说欧美| 欧美性色黄大片手机版| 欧美精品vⅰdeose4hd| 国产精品一区二区三区乱码 | 在线看日本不卡| 国产一区 二区 三区一级| 一区二区高清视频在线观看| 精品国产伦理网| 色噜噜久久综合| 国产一区二区三区精品视频| 亚洲福利电影网| 国产精品久久久爽爽爽麻豆色哟哟| 欧美日韩中文字幕一区| 成人性视频免费网站| 日韩精品亚洲一区| 亚洲精品欧美专区| 久久伊人中文字幕| 欧美群妇大交群的观看方式| 国产不卡免费视频| 日韩电影免费在线看| 亚洲少妇30p| 久久久蜜桃精品| 51久久夜色精品国产麻豆| k8久久久一区二区三区| 国产美女主播视频一区| 爽好多水快深点欧美视频| 日韩一区中文字幕| 久久久久久97三级| 日韩免费一区二区| 欧美日韩久久一区| 色综合 综合色| 成人综合婷婷国产精品久久蜜臀| 日本中文在线一区| 亚洲成人精品一区二区| 中文字幕一区二区三区av | 成人小视频在线| 久久国产精品一区二区| 亚洲va欧美va天堂v国产综合| 国产精品动漫网站| 久久九九全国免费| 2020国产精品| 日韩欧美一卡二卡| 欧美一级一级性生活免费录像| 欧美色综合网站| 91麻豆123| av激情亚洲男人天堂| 成人午夜免费视频| 国产精品1区二区.| 国产精品888| 欧美群妇大交群中文字幕| 欧美综合一区二区三区| 91视频.com| 91一区二区三区在线观看| 国产成人av电影在线| 国产精品一区二区三区99| 韩国女主播一区| 精品一区二区日韩| 激情综合一区二区三区| 久草精品在线观看| 精品午夜久久福利影院| 久久国产精品色| 国产剧情一区在线| 国产精品亚洲午夜一区二区三区| 国产一区福利在线| 国产一区二区伦理片| 国产91精品久久久久久久网曝门| 国产综合色产在线精品| 国产综合一区二区| 国产成人综合自拍| 成人一级片网址| 91丨九色丨尤物| 在线观看免费成人| 在线电影欧美成精品| 日韩一区二区免费电影| 2021国产精品久久精品| 国产欧美视频在线观看| 自拍偷拍亚洲综合| 亚洲精品高清在线| 日本亚洲一区二区| 国产一二三精品| 99re成人在线|