/*
* This software copyright by various authors including the RPTools.net
* development team, and licensed under the LGPL Version 3 or, at your
* option, any later version.
*
* Portions of this software were originally covered under the Apache
* Software License, Version 1.1 or Version 2.0.
*
* See the file LICENSE elsewhere in this distribution for license details.
*/
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();
}