Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
| OSGi Service Platform Release 3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.osgi.service.upnp
Interface UPnPStateVariable

public interface UPnPStateVariable

The meta-information of a UPnP state variable as declared in the device's service state table (SST).

Method calls to interact with a device (e.g. `UPnPAction.invoke(...);`) use this class to encapsulate meta information about the input and output arguments.

The actual values of the arguments are passed as Java objects. The mapping of types from UPnP data types to Java data types is described with the field definitions.

Field Summary
`static java.lang.String` | `TYPE_BIN_BASE64` MIME-style Base64 encoded binary BLOB.
`static java.lang.String` | `TYPE_BIN_HEX` Hexadecimal digits representing octets.
`static java.lang.String` | `TYPE_BOOLEAN` True or false.
`static java.lang.String` | `TYPE_CHAR` Unicode string.
`static java.lang.String` | `TYPE_DATE` A calendar date.
`static java.lang.String` | `TYPE_DATETIME` A specific instant of time.
`static java.lang.String` | `TYPE_DATETIME_TZ` A specific instant of time.
`static java.lang.String` | `TYPE_FIXED_14_4` Same as r8 but no more than 14 digits to the left of the decimal point and no more than 4 to the right.
`static java.lang.String` | `TYPE_FLOAT` Floating-point number.
`static java.lang.String` | `TYPE_I1` 1 Byte int.
`static java.lang.String` | `TYPE_I2` 2 Byte int.
`static java.lang.String` | `TYPE_I4` 4 Byte int.
`static java.lang.String` | `TYPE_INT` Integer number.
`static java.lang.String` | `TYPE_NUMBER` Same as r8.
`static java.lang.String` | `TYPE_R4` 4 Byte float.
`static java.lang.String` | `TYPE_R8` 8 Byte float.
`static java.lang.String` | `TYPE_STRING` Unicode string.
`static java.lang.String` | `TYPE_TIME` An instant of time that recurs every day.
`static java.lang.String` | `TYPE_TIME_TZ` An instant of time that recurs every day.
`static java.lang.String` | `TYPE_UI1` Unsigned 1 `Byte` int.
`static java.lang.String` | `TYPE_UI2` Unsigned 2 Byte int.
`static java.lang.String` | `TYPE_UI4` Unsigned 4 Byte int.
`static java.lang.String` | `TYPE_URI` Universal Resource Identifier.
`static java.lang.String` | `TYPE_UUID` Universally Unique ID.

Method Summary
`java.lang.String[]` | `getAllowedValues()` Returns the allowed values, if defined.
`java.lang.Object` | `getDefaultValue()` Returns the default value, if defined.
`java.lang.Class` | `getJavaDataType()` Returns the Java class associated with the UPnP data type of this state variable.
`java.lang.Number` | `getMaximum()` Returns the maximum value, if defined.
`java.lang.Number` | `getMinimum()` Returns the minimum value, if defined.
`java.lang.String` | `getName()` Returns the variable name.
`java.lang.Number` | `getStep()` Returns the size of an increment operation, if defined.
`java.lang.String` | `getUPnPDataType()` Returns the UPnP type of this state variable.
`boolean` | `sendsEvents()` Tells if this StateVariable can be used as an event source.

Field Detail

### TYPE_UI1

    public static final java.lang.String TYPE_UI1

  Unsigned 1 `Byte` int.

  Mapped to an `Integer` object.

### TYPE_UI2

    public static final java.lang.String TYPE_UI2

  Unsigned 2 Byte int.

  Mapped to `Integer` object.

### TYPE_UI4

    public static final java.lang.String TYPE_UI4

  Unsigned 4 Byte int.

  Mapped to `Long` object.

### TYPE_I1

    public static final java.lang.String TYPE_I1

  1 Byte int.

  Mapped to `Integer` object.

### TYPE_I2

    public static final java.lang.String TYPE_I2

  2 Byte int.

  Mapped to `Integer` object.

### TYPE_I4

    public static final java.lang.String TYPE_I4

  4 Byte int.

  Must be between -2147483648 and 2147483647

  Mapped to `Integer` object.

### TYPE_INT

    public static final java.lang.String TYPE_INT

  Integer number.

  Mapped to `Integer` object.

### TYPE_R4

    public static final java.lang.String TYPE_R4

  4 Byte float.

  Same format as float. Must be between 3.40282347E+38 to 1.17549435E-38.

  Mapped to `Float` object.

### TYPE_R8

    public static final java.lang.String TYPE_R8

  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.

  Mapped to `Double` object.

### TYPE_NUMBER

    public static final java.lang.String TYPE_NUMBER

  Same as r8.

  Mapped to `Double` object.

### TYPE_FIXED_14_4

    public static final java.lang.String TYPE_FIXED_14_4

  Same as r8 but no more than 14 digits to the left of the decimal point and no more than 4 to the right.

  Mapped to `Double` object.

### TYPE_FLOAT

    public static final java.lang.String TYPE_FLOAT

  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.)

  Mapped to `Float` object.

### TYPE_CHAR

    public static final java.lang.String TYPE_CHAR

  Unicode string.

  One character long.

  Mapped to `Character` object.

### TYPE_STRING

    public static final java.lang.String TYPE_STRING

  Unicode string.

  No limit on length.

  Mapped to `String` object.

### TYPE_DATE

    public static final java.lang.String TYPE_DATE

  A calendar date.

  Date in a subset of ISO 8601 format without time data.

  See http://www.w3.org/TR/xmlschema-2/#date.

  Mapped to `java.util.Date` object. Always 00:00 hours.

### TYPE_DATETIME

    public static final java.lang.String TYPE_DATETIME

  A specific instant of time.

  Date in ISO 8601 format with optional time but no time zone.

  See http://www.w3.org/TR/xmlschema-2/#dateTime.

  Mapped to `java.util.Date` object using default time zone.

### TYPE_DATETIME_TZ

    public static final java.lang.String TYPE_DATETIME_TZ

  A specific instant of time.

  Date in ISO 8601 format with optional time and optional time zone.

  See http://www.w3.org/TR/xmlschema-2/#dateTime.

  Mapped to `java.util.Date` object adjusted to default time zone.

### TYPE_TIME

    public static final java.lang.String TYPE_TIME

  An instant of time that recurs every day.

  Time in a subset of ISO 8601 format with no date and no time zone.

  See http://www.w3.org/TR/xmlschema-2/#time.

  Mapped to `Long`. Converted to milliseconds since midnight.

### TYPE_TIME_TZ

    public static final java.lang.String TYPE_TIME_TZ

  An instant of time that recurs every day.

  Time in a subset of ISO 8601 format with optional time zone but no date.

  See http://www.w3.org/TR/xmlschema-2/#time.

  Mapped to `Long` object. Converted to milliseconds since midnight and adjusted to default time zone, wrapping at 0 and 24*60*60*1000.

### TYPE_BOOLEAN

    public static final java.lang.String TYPE_BOOLEAN

  True or false.

  Mapped to `Boolean` object.

### TYPE_BIN_BASE64

    public static final java.lang.String TYPE_BIN_BASE64

  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.

  Mapped to `byte[]` object. The Java byte array will hold the decoded content of the BLOB.

### TYPE_BIN_HEX

    public static final java.lang.String TYPE_BIN_HEX

  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.

  Mapped to `byte[]` object. The Java byte array will hold the decoded content of the BLOB.

### TYPE_URI

    public static final java.lang.String TYPE_URI

  Universal Resource Identifier.

  Mapped to `String` object.

### TYPE_UUID

    public static final java.lang.String TYPE_UUID

  Universally Unique ID.

  Hexadecimal digits representing octets. Optional embedded hyphens are ignored.

  Mapped to `String` object.

Method Detail

### getName

    public java.lang.String getName()

  Returns the variable name.
  - All standard variables defined by a UPnP Forum working committee must not begin with `X_` nor `A_`.
  - All non-standard variables specified by a UPnP vendor and added to a standard service must begin with `X_`.
  Returns:
    Name of state variable. Must not contain a hyphen character nor a hash character. Should be < 32 characters.

### getJavaDataType

    public java.lang.Class getJavaDataType()

  Returns the Java class associated with the UPnP data type of this state variable.

  Mapping between the UPnP data types and Java classes is performed according to the schema mentioned above.

       Integer              ui1, ui2, i1, i2, i4, int
       Long                 ui4, time, time.tz
       Float                r4, float
       Double               r8, number, fixed.14.4
       Character            char
       String               string, uri, uuid
       Date                 date, dateTime, dateTime.tz
       Boolean              boolean
       byte[]               bin.base64, bin.hex

  Returns:
    A class object corresponding to the Java type of this argument.

### getUPnPDataType

    public java.lang.String getUPnPDataType()

  Returns the UPnP type of this state variable. Valid types are defined as constants.
  Returns:
    The UPnP data type of this state variable, as defined in above constants.

### getDefaultValue

    public java.lang.Object getDefaultValue()

  Returns the default value, if defined.
  Returns:
    The default value or `null` if not defined. The type of the returned object can be determined by `getJavaDataType`.

### getAllowedValues

    public java.lang.String[] getAllowedValues()

  Returns the allowed values, if defined. Allowed values can be defined only for String types.
  Returns:
    The allowed values or `null` if not defined. Should be less than 32 characters.

### getMinimum

    public java.lang.Number getMinimum()

  Returns the minimum value, if defined. Minimum values can only be defined for numeric types.
  Returns:
    The minimum value or `null` if not defined.

### getMaximum

    public java.lang.Number getMaximum()

  Returns the maximum value, if defined. Maximum values can only be defined for numeric types.
  Returns:
    The maximum value or `null` if not defined.

### getStep

    public java.lang.Number getStep()

  Returns the size of an increment operation, if defined. Step sizes can be defined only for numeric types.
  Returns:
    The increment size or null if not defined.

### sendsEvents

    public boolean sendsEvents()

  Tells if this StateVariable can be used as an event source. If the StateVariable is eventable, an event listener service can be registered to be notified when changes to the variable appear.
  Returns:
    `true` if the `StateVariable` generates events, `false` otherwise.

Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
| OSGi Service Platform Release 3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) OSGi Alliance (2000, 2003). All Rights Reserved.