/* * ============================================================================ * The Apache Software License, Version 1.1 * ============================================================================ * * Copyright (C) 2002 The Apache Software Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * 3. The end-user documentation included with the redistribution, if any, must * include the following acknowledgment: "This product includes software * developed by SuperBonBon Industries (http://www.sbbi.net/)." * Alternately, this acknowledgment may appear in the software itself, if * and wherever such third-party acknowledgments normally appear. * * 4. The names "UPNPLib" and "SuperBonBon Industries" must not be * used to endorse or promote products derived from this software without * prior written permission. For written permission, please contact * info@sbbi.net. * * 5. Products derived from this software may not be called * "SuperBonBon Industries", nor may "SBBI" appear in their name, * without prior written permission of SuperBonBon Industries. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT,INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * This software consists of voluntary contributions made by many individuals * on behalf of SuperBonBon Industries. For more information on * SuperBonBon Industries, please see <http://www.sbbi.net/>. */ package net.sbbi.upnp.services; /** * Interface to defined allowed values for service state variables data types * @author <a href="mailto:superbonbon@sbbi.net">SuperBonBon</a> * @version 1.0 */ public interface ServiceStateVariableTypes { /** * Unsigned 1 Byte int. Same format as int without leading sign. */ public final static String UI1 = "ui1"; /** * Unsigned 2 Byte int. Same format as int without leading sign. */ public final static String UI2 = "ui2"; /** * Unsigned 4 Byte int. Same format as int without leading sign. */ public final static String UI4 = "ui4"; /** * 1 Byte int. Same format as int. */ public final static String I1 = "i1"; /** * 2 Byte int. Same format as int. */ public final static String I2 = "i2"; /** * 4 Byte int. Same format as int. */ public final static String I4 = "i4"; /** * Fixed point, integer number. May have leading sign. May have leading zeros. * (No currency symbol.) (No grouping of digits to the left of the decimal, e.g., no commas.) */ public final static String INT = "int"; /** * 4 Byte float. Same format as float. Must be between 3.40282347E+38 to 1.17549435E-38. */ public final static String R4 = "r4"; /** * 8 Byte float. Same format as float. Must be between -1.79769313486232E308 and -4.94065645841247E-324 * for negative values, and between 4.94065645841247E-324 and 1.79769313486232E308 for positive values, * i.e., IEEE 64-bit (8-Byte) double. */ public final static String R8 = "r8"; /** * Same as r8. */ public final static String NUMBER = "number"; /** * Same as r8 but no more than 14 digits to the left of the decimal point and no more than 4 to the right. */ public final static String FIXED_14_4 = "fixed.14.4"; /** * Floating point number. Mantissa (left of the decimal) and/or exponent may have a leading sign. * Mantissa and/or exponent may have leading zeros. Decimal character in mantissa is a period, i.e., * whole digits in mantissa separated from fractional digits by period. Mantissa separated from exponent * by E. (No currency symbol.) (No grouping of digits in the mantissa, e.g., no commas.) */ public final static String FLOAT = "float"; /** * Unicode string. One character long. */ public final static String CHAR = "char"; /** * Unicode string. No limit on length. */ public final static String STRING = "string"; /** * Date in a subset of ISO 8601 format without time data. */ public final static String DATE = "date"; /** * Date in ISO 8601 format with optional time but no time zone. */ public final static String DATETIME = "dateTime"; /** * Date in ISO 8601 format with optional time and optional time zone. */ public final static String DATETIME_TZ = "dateTime.tz"; /** * Time in a subset of ISO 8601 format with no date and no time zone. */ public final static String TIME = "time"; /** * Time in a subset of ISO 8601 format with optional time zone but no date. */ public final static String TIME_TZ = "time.tz"; /** * 0, false, or no for false; 1, true, or yes for true. */ public final static String BOOLEAN = "boolean"; /** * MIME-style Base64 encoded binary BLOB. Takes 3 Bytes, splits them into 4 parts, * and maps each 6 bit piece to an octet. (3 octets are encoded as 4.) No limit on size. */ public final static String BIN_BASE64 = "bin.base64"; /** * Hexadecimal digits representing octets. Treats each nibble as a hex digit and encodes * as a separate Byte. (1 octet is encoded as 2.) No limit on size. */ public final static String BIN_HEX = "bin.hex"; /** * Universal Resource Identifier. */ public final static String URI = "uri"; /** * Universally Unique ID. Hexadecimal digits representing octets. * Optional embedded hyphens are ignored. */ public final static String UUID = "uuid"; public final static int UI1_INT = "ui1".hashCode(); public final static int UI2_INT = "ui2".hashCode(); public final static int UI4_INT = "ui4".hashCode(); public final static int I1_INT = "i1".hashCode(); public final static int I2_INT = "i2".hashCode(); public final static int I4_INT = "i4".hashCode(); public final static int INT_INT = "int".hashCode(); public final static int R4_INT = "r4".hashCode(); public final static int R8_INT = "r8".hashCode(); public final static int NUMBER_INT = "number".hashCode(); public final static int FIXED_14_4_INT = "fixed.14.4".hashCode(); public final static int FLOAT_INT = "float".hashCode(); public final static int CHAR_INT = "char".hashCode(); public final static int STRING_INT = "string".hashCode(); public final static int DATE_INT = "date".hashCode(); public final static int DATETIME_INT = "dateTime".hashCode(); public final static int DATETIME_TZ_INT = "dateTime.tz".hashCode(); public final static int TIME_INT = "time".hashCode(); public final static int TIME_TZ_INT = "time.tz".hashCode(); public final static int BOOLEAN_INT = "boolean".hashCode(); public final static int BIN_BASE64_INT = "bin.base64".hashCode(); public final static int BIN_HEX_INT = "bin.hex".hashCode(); public final static int URI_INT = "uri".hashCode(); public final static int UUID_INT = "uuid".hashCode(); }