/* * * This file was generated by LLRP Code Generator * see http://llrp-toolkit.cvs.sourceforge.net/llrp-toolkit/ * for more information * Generated on: Mon Mar 10 14:26:48 KST 2014; * */ /* * Copyright (C) 2014 KAIST * @author Janggwan Im <limg00n@kaist.ac.kr> * * Copyright 2007 ETH Zurich * * Licensed under the Apache License, Version 2.0 (the "License"); * * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package kr.ac.kaist.resl.ltk.generated.enumerations; import org.apache.log4j.Logger; import org.jdom.Content; import org.jdom.Element; import org.jdom.Namespace; import org.jdom.Text; import kr.ac.kaist.resl.ltk.generated.LLRPConstants; import org.llrp.ltk.types.LLRPBitList; import org.llrp.ltk.types.LLRPEnumeration; import org.llrp.ltk.types.UnsignedShort; import org.llrp.ltk.types.UnsignedShort; import java.lang.IllegalArgumentException; import java.math.BigInteger; import java.util.LinkedList; import java.util.List; /** * CommunicationsStandard is Enumeration of Type UnsignedShort */ public class CommunicationsStandard extends UnsignedShort implements LLRPEnumeration { public static final int Unspecified = 0; public static final int US_FCC_Part_15 = 1; public static final int ETSI_302_208 = 2; public static final int ETSI_300_220 = 3; public static final int Australia_LIPD_1W = 4; public static final int Australia_LIPD_4W = 5; public static final int Japan_ARIB_STD_T89 = 6; public static final int Hong_Kong_OFTA_1049 = 7; public static final int Taiwan_DGT_LP0002 = 8; public static final int Korea_MIC_Article_5_2 = 9; Logger logger = Logger.getLogger(CommunicationsStandard.class); public CommunicationsStandard() { super(0); } /** * Create new CommunicationsStandard by passing integer value. * * @throws IllegalArgumentException * if the value is not allowed for this enumeration * @param value an Integer value allowed - might check first * with isValidValue it it is an allowed value */ public CommunicationsStandard(int value) { super(value); if (!isValidValue(value)) { throw new IllegalArgumentException("Value not allowed"); } } /** * Create new CommunicationsStandard by passing jdom element. * * @throws IllegalArgumentException * if the value found in element is not allowed * for this enumeration. * @param element - jdom element where the child is a string * that is the name for a value of the enumeration. */ public CommunicationsStandard(final Element element) { this(element.getText()); } /** * Create new CommunicationsStandard by passing a string. * * @throws IllegalArgumentException * if the string does not stand for a valid value. */ public CommunicationsStandard(final String name) { if (!isValidName(name)) { throw new IllegalArgumentException("Name not allowed"); } this.value = getValue(name); signed = false; } /** * Create new CommunicationsStandard by passing LLRPBitList. * * @throws IllegalArgumentException * if the value found in the BitList is not allowed * for this enumeration. * @param list - LLRPBitList */ public CommunicationsStandard(final LLRPBitList list) { decodeBinary(list); if (!isValidValue(new Integer(toInteger()))) { throw new IllegalArgumentException("Value not allowed"); } } /** * set the current value of this enumeration to the * value identified by given string. * * @throws IllegalArgumentException * if the value found for given String is not allowed * for this enumeration. * @param name set this enumeration to hold one of the allowed values */ public final void set(final String name) { if (!isValidName(name)) { throw new IllegalArgumentException("name not allowed"); } this.value = getValue(name); } /** * set the current value of this enumeration to the * value given. * * @throws IllegalArgumentException * if the value is not allowed * for this enumeration. * @param value to be set */ public final void set(final int value) { if (!isValidValue(value)) { throw new IllegalArgumentException("value not allowed"); } this.value = value; } /** * {@inheritDoc} */ public Content encodeXML(final String name, Namespace ns) { Element element = new Element(name, ns); //Element element = new Element(name, Namespace.getNamespace("llrp",LLRPConstants.LLRPNAMESPACE)); element.setContent(new Text(toString())); return element; } /** * {@inheritDoc} */ public String toString() { return getName(toInteger()); } /** * {@inheritDoc} */ public boolean isValidValue(final int value) { switch (value) { case 0: return true; case 1: return true; case 2: return true; case 3: return true; case 4: return true; case 5: return true; case 6: return true; case 7: return true; case 8: return true; case 9: return true; default: return false; } } /** * {@inheritDoc} */ public final int getValue(final String name) { if (name.equalsIgnoreCase("Unspecified")) { return 0; } if (name.equalsIgnoreCase("US_FCC_Part_15")) { return 1; } if (name.equalsIgnoreCase("ETSI_302_208")) { return 2; } if (name.equalsIgnoreCase("ETSI_300_220")) { return 3; } if (name.equalsIgnoreCase("Australia_LIPD_1W")) { return 4; } if (name.equalsIgnoreCase("Australia_LIPD_4W")) { return 5; } if (name.equalsIgnoreCase("Japan_ARIB_STD_T89")) { return 6; } if (name.equalsIgnoreCase("Hong_Kong_OFTA_1049")) { return 7; } if (name.equalsIgnoreCase("Taiwan_DGT_LP0002")) { return 8; } if (name.equalsIgnoreCase("Korea_MIC_Article_5_2")) { return 9; } return -1; } /** * {@inheritDoc} */ public final String getName(final int value) { if (0 == value) { return "Unspecified"; } if (1 == value) { return "US_FCC_Part_15"; } if (2 == value) { return "ETSI_302_208"; } if (3 == value) { return "ETSI_300_220"; } if (4 == value) { return "Australia_LIPD_1W"; } if (5 == value) { return "Australia_LIPD_4W"; } if (6 == value) { return "Japan_ARIB_STD_T89"; } if (7 == value) { return "Hong_Kong_OFTA_1049"; } if (8 == value) { return "Taiwan_DGT_LP0002"; } if (9 == value) { return "Korea_MIC_Article_5_2"; } return ""; } /** * {@inheritDoc} */ public boolean isValidName(final String name) { if (name.equals("Unspecified")) { return true; } if (name.equals("US_FCC_Part_15")) { return true; } if (name.equals("ETSI_302_208")) { return true; } if (name.equals("ETSI_300_220")) { return true; } if (name.equals("Australia_LIPD_1W")) { return true; } if (name.equals("Australia_LIPD_4W")) { return true; } if (name.equals("Japan_ARIB_STD_T89")) { return true; } if (name.equals("Hong_Kong_OFTA_1049")) { return true; } if (name.equals("Taiwan_DGT_LP0002")) { return true; } if (name.equals("Korea_MIC_Article_5_2")) { return true; } return false; } /** * number of bits used to represent this type. * * @return Integer */ public static int length() { return UnsignedShort.length(); } /** * wrapper method for UnsignedIntegers that use BigIntegers to store value * */ private final String getName(final BigInteger value) { logger.warn("CommunicationsStandard must convert BigInteger " + value + " to Integer value " + value.intValue()); return getName(value.intValue()); } /** * wrapper method for UnsignedIntegers that use BigIntegers to store value * */ private final boolean isValidValue(final BigInteger value) { logger.warn("CommunicationsStandard must convert BigInteger " + value + " to Integer value " + value.intValue()); return isValidValue(value.intValue()); } }