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

📄 valueparameter.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.rprm.core.msg.command;

/**
 * This class is used as a helper class in the text parser. During
 * parsing the simple value parameters  are parsed into such a 
 * <code>ValueParameter</code> object.
 * 
 * @author Andreas F黵er, ETH Zurich Switzerland, Winter 2005/06
 * 
 * @see org.fosstrak.reader.rprm.core.msg.command.TextCommandParserHelper
 *
 */

public class ValueParameter extends Parameter {
	

	
	/** the parameter value */
	private Object value;
	
	/** the parameter type */
	private Class type;

	public ValueParameter(String val) {
		setValue(val);
	}
	
	public ValueParameter(int val) {
		setValue(val);
	}
	
	public ValueParameter(boolean val) {
		setValue(val);
	}

	/**
	 * Sets the String value of a parameter
	 * @param val The parameter value
	 */
	public void setValue(String val) {
		this.value = val;
		this.type = String.class;
	}
	
	/**
	 * Sets the int value of a parameter
	 * @param val The parameter value
	 */
	public void setValue(int val) {
		this.value = new Integer(val);
		this.type = Integer.class;
	}
	
	/**
	 * Sets the boolean value of a parameter
	 * @param val The parameter value
	 */
	public void setValue(boolean val) {
		this.value = new Boolean(val);
		this.type = Boolean.class;
	}
	

	/**
	 * Gets the string value of a parameter
	 * @return the parameter value
	 * @throws TextCommandParserException if the internal parameter value is not of type String
	 */
	public String getStringValue() throws TextCommandParserException {
		if (value instanceof String) {
			return (String)value;
		}
		throw new TextCommandParserException("Wrong parameter type. The value is of type " + type + " and not a String.");
	}
	
	/**
	 * Gets the int value of a parameter
	 * @return the parameter value
	 * @throws TextCommandParserException if the internal parameter value is not of type int
	 */
	public int getIntValue() throws TextCommandParserException {
		if (value instanceof Integer) {
			return ((Integer)value).intValue();
		}
		throw new TextCommandParserException("Wrong parameter type. The value is of type " + type + " and not an int.");
	}
	
	/**
	 * Gets the boolean value of a parameter
	 * @return the parameter value
	 * @throws TextCommandParserException if the internal parameter value is not of type boolean
	 */
	public boolean getBooleanValue() throws TextCommandParserException {
		if (value instanceof Boolean) {
			return ((Boolean)value).booleanValue();
		}
		throw new TextCommandParserException("Wrong parameter type. The value is of type " + type + " and not a boolean.");
	}
	
}

⌨️ 快捷键说明

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