|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.bluetooth.DataElement
public class DataElement
The DataElement
class defines the various data
types that a Bluetooth service attribute value may have.
The following table describes the data types and valid
values that a DataElement
object can store.
Data Type | Valid Values |
---|---|
NULL | represents a
null value
|
U_INT_1 |
long value range [0, 255] |
U_INT_2 | long
value range [0, 216-1] |
U_INT_4 |
long value range [0, 232-1] |
U_INT_8 |
byte[] value range [0, 264-1] |
U_INT_16 |
byte[] value range [0, 2128-1] |
INT_1 | long
value range [-128, 127] |
INT_2 | long
value range [-215, 215-1] |
INT_4 | long
value range [-231, 231-1] |
INT_8 | long
value range [-263, 263-1] |
INT_16 | byte[]
value range [-2127, 2127-1] |
URL |
java.lang.String |
UUID |
javax.bluetooth.UUID |
BOOL | boolean |
STRING |
java.lang.String |
DATSEQ |
java.util.Enumeration |
DATALT |
java.util.Enumeration |
All Service Discovery Protocol related values that can be stored in
a DataElement
MUST be presented to applications in big-endian
form, requiring no conversion with respect to endianness/byte order by
JSR-082 applications.
Field Summary | |
---|---|
static int |
BOOL
Defines data of type BOOL. |
static int |
DATALT
Defines data of type DATALT. |
static int |
DATSEQ
Defines data of type DATSEQ. |
static int |
INT_1
Defines a signed integer of size one byte. |
static int |
INT_16
Defines a signed integer of size sixteen bytes. |
static int |
INT_2
Defines a signed integer of size two bytes. |
static int |
INT_4
Defines a signed integer of size four bytes. |
static int |
INT_8
Defines a signed integer of size eight bytes. |
static int |
NULL
Defines data of type NULL. |
static int |
STRING
Defines data of type STRING. |
static int |
U_INT_1
Defines an unsigned integer of size one byte. |
static int |
U_INT_16
Defines an unsigned integer of size sixteen bytes. |
static int |
U_INT_2
Defines an unsigned integer of size two bytes. |
static int |
U_INT_4
Defines an unsigned integer of size four bytes. |
static int |
U_INT_8
Defines an unsigned integer of size eight bytes. |
static int |
URL
Defines data of type URL. |
static int |
UUID
Defines data of type UUID. |
Constructor Summary | |
---|---|
DataElement(boolean bool)
Creates a DataElement whose data type is
BOOL and whose value is equal to bool |
|
DataElement(int valueType)
Creates a DataElement of type NULL ,
DATALT , or DATSEQ . |
|
DataElement(int valueType,
long value)
Creates a DataElement that encapsulates an integer
value of size U_INT_1 , U_INT_2 ,
U_INT_4 , INT_1 , INT_2 ,
INT_4 , and INT_8 . |
|
DataElement(int valueType,
java.lang.Object value)
Creates a DataElement whose data type is given by
valueType and whose value is specified by the argument
value . |
Method Summary | |
---|---|
void |
addElement(DataElement elem)
Adds a DataElement to this DATALT
or DATSEQ DataElement object. |
boolean |
getBoolean()
Returns the value of the DataElement if it is represented as
a boolean . |
int |
getDataType()
Returns the data type of the object this DataElement
represents. |
long |
getLong()
Returns the value of the DataElement if it can be
represented as a long . |
int |
getSize()
Returns the number of DataElements that are present
in this DATALT or DATSEQ object. |
java.lang.Object |
getValue()
Returns the value of this DataElement as an
Object . |
void |
insertElementAt(DataElement elem,
int index)
Inserts a DataElement at the specified location. |
boolean |
removeElement(DataElement elem)
Removes the first occurrence of the DataElement
from this object. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int NULL
DataElement.NULL
is
implicit, i.e., there is no representation of it.
Accordingly there is no method to retrieve
it, and attempts to retrieve the value will throw an exception.
The value of NULL
is 0x00 (0).
public static final int U_INT_1
The value of the constant U_INT_1
is 0x08 (8).
public static final int U_INT_2
The value of the constant U_INT_2
is 0x09 (9).
public static final int U_INT_4
The value of the constant U_INT_4
is 0x0A (10).
public static final int U_INT_8
The value of the constant U_INT_8
is 0x0B (11).
public static final int U_INT_16
The value of the constant U_INT_16
is 0x0C (12).
public static final int INT_1
The value of the constant INT_1
is 0x10 (16).
public static final int INT_2
The value of the constant INT_2
is 0x11 (17).
public static final int INT_4
The value of the constant INT_4
is 0x12 (18).
public static final int INT_8
The value of the constant INT_8
is 0x13 (19).
public static final int INT_16
The value of the constant INT_16
is 0x14 (20).
public static final int URL
The value of the constant URL
is 0x40 (64).
public static final int UUID
The value of the constant UUID
is 0x18 (24).
public static final int BOOL
The value of the constant BOOL
is 0x28 (40).
public static final int STRING
The value of the constant STRING
is 0x20 (32).
public static final int DATSEQ
The value of the constant DATSEQ
is 0x30 (48).
public static final int DATALT
The value of the constant DATALT
is 0x38 (56).
Constructor Detail |
---|
public DataElement(int valueType)
DataElement
of type NULL
,
DATALT
, or DATSEQ
.
valueType
- the type of DataElement to create:
NULL
, DATALT
, or DATSEQ
java.lang.IllegalArgumentException
- if valueType
is not NULL
, DATALT
, or
DATSEQ
NULL
,
DATALT
,
DATSEQ
public DataElement(boolean bool)
DataElement
whose data type is
BOOL
and whose value is equal to bool
bool
- the value of the DataElement
of type
BOOL.BOOL
public DataElement(int valueType, long value)
DataElement
that encapsulates an integer
value of size U_INT_1
, U_INT_2
,
U_INT_4
, INT_1
, INT_2
,
INT_4
, and INT_8
.
The legal values for the valueType
and the corresponding
attribute values are:
Value Type | Value Range |
---|---|
U_INT_1 |
[0, 28-1] |
U_INT_2 |
[0, 216-1] |
U_INT_4 |
[0, 232-1] |
INT_1 |
[-27, 27-1] |
INT_2 |
[-215, 215-1] |
INT_4 |
[-231, 231-1] |
INT_8 |
[-263, 263-1] |
IllegalArgumentException
to be thrown.
valueType
- the data type of the object that is being
created; must be one of the following:
U_INT_1
,
U_INT_2
,
U_INT_4
,
INT_1
,
INT_2
,
INT_4
, or
INT_8
value
- the value of the object being created; must be
in the range specified for the given valueType
java.lang.IllegalArgumentException
- if the valueType
is not valid or the value
for the given legal
valueType
is outside the valid rangeU_INT_1
,
U_INT_2
,
U_INT_4
,
INT_1
,
INT_2
,
INT_4
,
INT_8
public DataElement(int valueType, java.lang.Object value)
DataElement
whose data type is given by
valueType
and whose value is specified by the argument
value
. The legal values for the valueType
and the corresponding attribute values are:
Value Type | Java Type / Value Range |
---|---|
URL | java.lang.String
|
UUID |
javax.bluetooth.UUID |
STRING |
java.lang.String |
INT_16 |
[-2127, 2127-1] as a byte array whose length must be 16 |
U_INT_8 |
[0, 264-1] as a byte array whose length must be 8 |
U_INT_16 |
[0, 2128-1] as a byte array whose length must be 16 |
IllegalArgumentException
exception.
valueType
- the data type of the object that is being
created; must be one of the following: URL
,
UUID
,
STRING
,
INT_16
,
U_INT_8
, or
U_INT_16
value
- the value for the DataElement
being created
of type valueType
java.lang.IllegalArgumentException
- if the value
is not of the valueType
type or is not in the range
specified or is null
URL
,
UUID
,
STRING
,
U_INT_8
,
INT_16
,
U_INT_16
Method Detail |
---|
public void addElement(DataElement elem)
DataElement
to this DATALT
or DATSEQ
DataElement
object.
The elem
will be added at the end of the list.
The elem
can be of any
DataElement
type, i.e., URL
,
NULL
, BOOL
, UUID
,
STRING
, DATSEQ
, DATALT
,
and the various signed and unsigned integer types.
The same object may be added twice. If the object is
successfully added the size of the DataElement
is
increased by one.
elem
- the DataElement
object to add
java.lang.ClassCastException
- if the method is invoked on a
DataElement
whose type is not DATALT
or DATSEQ
java.lang.NullPointerException
- if elem
is
null
public void insertElementAt(DataElement elem, int index)
DataElement
at the specified location.
This method can be invoked only on a DATALT
or
DATSEQ
DataElement
.
elem
can be of any DataElement
type, i.e., URL
, NULL
,
BOOL
,
UUID
, STRING
, DATSEQ
,
DATALT
, and the various signed and unsigned
integers. The same object may be added twice. If the object is
successfully added the size will be increased by one.
Each element with an index greater than or equal to the specified
index is shifted upward to have an index one
greater than the value it had previously.
The index
must be greater than or equal to 0 and
less than or equal to the current size. Therefore,
DATALT
and
DATSEQ
are zero-based objects.
elem
- the DataElement
object to addindex
- the location at which to add the
DataElement
java.lang.ClassCastException
- if the method is invoked on an
instance of DataElement
whose type is not
DATALT
or DATSEQ
java.lang.IndexOutOfBoundsException
- if index
is negative or greater than
the size of the DATALT
or DATSEQ
java.lang.NullPointerException
- if elem
is
null
public int getSize()
DataElements
that are present
in this DATALT
or DATSEQ
object.
It is possible that the number of elements is equal to zero.
DATALT
or DATSEQ
java.lang.ClassCastException
- if this object is not of type
DATALT
or DATSEQ
public boolean removeElement(DataElement elem)
DataElement
from this object. elem
may be of any type, i.e.,
URL
, NULL
, BOOL
,
UUID
, STRING
, DATSEQ
,
DATALT
, or the variously sized signed and unsigned
integers.
Only the first object in the list that is equal to
elem
will be removed. Other objects, if present,
are not removed. Since this class doesn�t override the
equals()
method of the Object
class,
the remove method compares only the
references of objects. If elem
is
successfully removed the size of this DataElement
is decreased by one. Each DataElement
in the
DATALT
or DATSEQ
with an index greater
than the index of elem
is shifted downward to have
an index one smaller than the value it had previously.
elem
- the DataElement
to be removed
true
if the input value was found and
removed; else false
java.lang.ClassCastException
- if this object is not of
type DATALT
or DATSEQ
java.lang.NullPointerException
- if elem
is
null
public int getDataType()
DataElement
represents.
DataElement object; the legal
return values are:
URL
,
NULL
,
BOOL
,
UUID
,
STRING
,
DATSEQ
,
DATALT
,
U_INT_1
,
U_INT_2
,
U_INT_4
,
U_INT_8
,
U_INT_16
,
INT_1
,
INT_2
,
INT_4
,
INT_8
, or
INT_16
public long getLong()
DataElement
if it can be
represented as a long
. The data type of the object must be
U_INT_1
,
U_INT_2
,
U_INT_4
,
INT_1
,
INT_2
,
INT_4
, or
INT_8
.
DataElement
as a long
java.lang.ClassCastException
- if the data type of the object is not
U_INT_1
,
U_INT_2
,
U_INT_4
, INT_1
,
INT_2
, INT_4
,
or INT_8
public boolean getBoolean()
DataElement
if it is represented as
a boolean
.
boolean
value of this DataElement
object
java.lang.ClassCastException
- if the data type of this object is
not of type BOOL
public java.lang.Object getValue()
DataElement
as an
Object
. This method returns the appropriate Java
object for the following data types:
URL
,
UUID
,
STRING
,
DATSEQ
,
DATALT
,
U_INT_8
,
U_INT_16
, and
INT_16
.
Modifying the returned Object
will not change this
DataElement
.
The following are the legal pairs of data type
and Java object type being returned.
DataElement Data Type |
Java Data Type |
---|---|
URL | java.lang.String
|
UUID |
javax.bluetooth.UUID |
STRING | java.lang.String
|
DATSEQ |
java.util.Enumeration |
DATALT |
java.util.Enumeration |
U_INT_8 |
byte[] of length 8 |
U_INT_16 |
byte[] of length 16 |
INT_16 |
byte[] of length 16 |
java.lang.ClassCastException
- if the object is not a
URL
, UUID
,
STRING
, DATSEQ
, DATALT
,
U_INT_8
,
U_INT_16
,
or INT_16
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |