|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface HeaderSet
The HeaderSet
interface defines the methods that set and get
the values of OBEX headers.
The following table describes how the headers specified in this interface are
represented in OBEX and in Java. The Java types are used with the
setHeader()
and getHeader()
methods and specify the
type of object that must be provided and will be returned from these methods,
respectively.
Header Values | OBEX Representation | Java Type |
---|---|---|
COUNT | 4 byte unsigned integer | java.lang.Long in the range 0 to 232-1 |
NAME | Unicode string | java.lang.String |
TYPE | ASCII string | java.lang.String |
LENGTH | 4 byte unsigned integer | java.lang.Long in the range 0 to 232-1 |
TIME_ISO_8601 | ASCII string of the form YYYYMMDDTHHMMSS[Z] where [Z] specifies Zulu time | java.util.Calendar |
TIME_4_BYTE | 4 byte unsigned integer | java.util.Calendar |
DESCRIPTION | Unicode string | java.lang.String |
TARGET | byte sequence | byte[] |
HTTP | byte sequence | byte[] |
WHO | byte sequence | byte[] |
OBJECT_CLASS | byte sequence | byte[] |
APPLICATION_PARAMETER | byte sequence | byte[] |
The APPLICATION_PARAMETER
header requires some additional
explanation. The byte array provided with the
APPLICATION_PARAMETER
should be of the form Tag-Length-Value
according to the OBEX specification where Tag is a byte long, Length is a
byte long, and Value is up to 255 bytes long. Multiple Tag-Length-Value
triples are allowed within a single APPLICATION_PARAMETER
header. The implementation will NOT check this condition. It is mentioned
only to allow for interoperability between OBEX implementations.
User Defined Headers
OBEX allows 64 user-defined header values. Depending on the header identifier provided, headers have different types. The table below defines the ranges and their types.
Header Identifier | Decimal Range | OBEX Type | Java Type |
---|---|---|---|
0x30 to 0x3F | 48 to 63 | Unicode String | java.lang.String |
0x70 to 0x7F | 112 to 127 | byte sequence | byte[] |
0xB0 to 0xBF | 176 to 191 | 1 byte | java.lang.Byte |
0xF0 to 0xFF | 240 to 255 | 4 byte unsigned integer | java.lang.Long in the range 0 to
232-1 |
Field Summary | |
---|---|
static int |
APPLICATION_PARAMETER
Represents the OBEX Application Parameter header. |
static int |
COUNT
Represents the OBEX Count header. |
static int |
DESCRIPTION
Represents the OBEX Description header. |
static int |
HTTP
Represents the OBEX HTTP header. |
static int |
LENGTH
Represents the OBEX Length header. |
static int |
NAME
Represents the OBEX Name header. |
static int |
OBJECT_CLASS
Represents the OBEX Object Class header. |
static int |
TARGET
Represents the OBEX Target header. |
static int |
TIME_4_BYTE
Represents the OBEX Time header using the 4 byte representation. |
static int |
TIME_ISO_8601
Represents the OBEX Time header using the ISO 8601 standards. |
static int |
TYPE
Represents the OBEX Type header. |
static int |
WHO
Represents the OBEX Who header. |
Method Summary | |
---|---|
void |
createAuthenticationChallenge(java.lang.String realm,
boolean userID,
boolean access)
Sets the authentication challenge header. |
java.lang.Object |
getHeader(int headerID)
Retrieves the value of the header identifier provided. |
int[] |
getHeaderList()
Retrieves the list of headers that may be retrieved via the getHeader method that will not return null . |
int |
getResponseCode()
Returns the response code received from the server. |
void |
setHeader(int headerID,
java.lang.Object headerValue)
Sets the value of the header identifier to the value provided. |
Field Detail |
---|
static final int COUNT
The value of COUNT
is 0xC0 (192).
static final int NAME
The value of NAME
is 0x01 (1).
static final int TYPE
The value of TYPE
is 0x42 (66).
static final int LENGTH
The value of LENGTH
is 0xC3 (195).
static final int TIME_ISO_8601
The value of TIME_ISO_8601
is 0x44 (68).
static final int TIME_4_BYTE
The value of TIME_4_BYTE
is 0xC4 (196).
static final int DESCRIPTION
The value of DESCRIPTION
is 0x05 (5).
static final int TARGET
The value of TARGET
is 0x46 (70).
static final int HTTP
The value of HTTP
is 0x47 (71).
static final int WHO
The value of WHO
is 0x4A (74).
static final int OBJECT_CLASS
The value of OBJECT_CLASS
is 0x4F (79).
static final int APPLICATION_PARAMETER
The value of APPLICATION_PARAMETER
is 0x4C (76).
Method Detail |
---|
void setHeader(int headerID, java.lang.Object headerValue)
null
is passed as the
headerValue
then the header will be removed from the set of
headers to include in the next request.
headerID
- the identifier to include in the messageheaderValue
- the value of the header identifier
java.lang.IllegalArgumentException
- if the header identifier provided is
not one defined in this interface or a user-defined header; if the type of
headerValue
is not the correct Java type as defined in the
description of this interfacejava.lang.Object getHeader(int headerID) throws java.io.IOException
headerID
- the header identifier whose value is to be returned
null
if the
header identifier specified is not part of this HeaderSet
object
java.lang.IllegalArgumentException
- if the headerID
is not
one defined in this interface or any of the user-defined headers
java.io.IOException
- if an error occurred in the transport layer during
the operation or if the connection has been closedint[] getHeaderList() throws java.io.IOException
getHeader
method that will not return null
.
In other words, this method returns all the headers that are available
in this object.
null
if no headers are available
java.io.IOException
- if an error occurred in the transport layer during
the operation or the connection has been closedgetHeader(int)
void createAuthenticationChallenge(java.lang.String realm, boolean userID, boolean access)
realm
will
be encoded based upon the default encoding scheme used by the
implementation to encode strings. Therefore, the encoding scheme used
to encode the realm
is application dependent.
realm
- a short description that describes what password to use; if
null
no realm will be sent in the authentication challenge
headeruserID
- if true
, a user ID is required in the reply;
if false
, no user ID is requiredaccess
- if true
then full access will be granted if
successful; if false
then read-only access will be granted
if successfulint getResponseCode() throws java.io.IOException
ResponseCodes
class.
java.io.IOException
- if an error occurred in the transport layer during
the transaction; if this method is called on a HeaderSet
object created by calling createHeaderSet()
in a
ClientSession
object; if an OBEX server created this objectResponseCodes
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |