|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjavax.obex.ServerRequestHandler
public class ServerRequestHandler
The ServerRequestHandler class defines an event
listener that will respond to OBEX requests made to the server.
The onConnect(), onSetPath(), onDelete(),
onGet(),
and onPut() methods may return any response code defined
in the ResponseCodes class except for
OBEX_HTTP_CONTINUE. If OBEX_HTTP_CONTINUE or
a value not defined in the ResponseCodes class is returned,
the server implementation will send an OBEX_HTTP_INTERNAL_ERROR
response to the client.
Connection ID and Target Headers
According to the IrOBEX specification, a packet may not contain a Connection
ID and Target header. Since the Connection ID header is managed by the
implementation, it will not send a Connection ID header, if a Connection ID
was specified, in a packet that has a Target header. In other words, if an
application adds a Target header to a HeaderSet object used
in an OBEX operation and a Connection ID was specified, no Connection ID
will be sent in the packet containing the Target header.
CREATE-EMPTY Requests
A CREATE-EMPTY request allows clients to create empty objects on the server.
When a CREATE-EMPTY request is received, the onPut() method
will be called by the implementation. To differentiate between a normal
PUT request and a CREATE-EMPTY request, an application must open the
InputStream from the Operation object passed
to the onPut() method. For a PUT request, the application
will be able to read Body data from this InputStream. For
a CREATE-EMPTY request, there will be no Body data to read. Therefore,
a call to InputStream.read() will return -1.
| Constructor Summary | ||
|---|---|---|
protected |
ServerRequestHandler()
Creates a ServerRequestHandler. |
|
| Method Summary | ||
|---|---|---|
HeaderSet |
createHeaderSet()
Creates a HeaderSet object that may be used in put and get
operations. |
|
long |
getConnectionID()
Retrieves the connection ID that is being used in the present connection. |
|
void |
onAuthenticationFailure(byte[] userName)
Called when this object attempts to authenticate a client and the authentication request fails because the response digest in the authentication response header was wrong. |
|
int |
onConnect(HeaderSet request,
HeaderSet reply)
Called when a CONNECT request is received. |
|
int |
onDelete(HeaderSet request,
HeaderSet reply)
Called when a DELETE request is received. |
|
void |
onDisconnect(HeaderSet request,
HeaderSet reply)
Called when a DISCONNECT request is received. |
|
int |
onGet(Operation op)
Called when a GET request is received. |
|
int |
onPut(Operation op)
Called when a PUT request is received. |
|
int |
onSetPath(HeaderSet request,
HeaderSet reply,
boolean backup,
boolean create)
Called when a SETPATH request is received. |
|
void |
setConnectionID(long id)
Sets the connection ID header to include in the reply packets. |
|
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
protected ServerRequestHandler()
| Method Detail |
|---|
public final HeaderSet createHeaderSet()
HeaderSet object that may be used in put and get
operations.
HeaderSet object to use in put and get operationspublic void setConnectionID(long id)
id - the connection ID to use; -1 if no connection ID should be
sent
IllegalArgumentException - if id is not in the
range -1 to 232-1public long getConnectionID()
public int onConnect(HeaderSet request,
HeaderSet reply)
If this method is not implemented by the class that extends this
class, onConnect() will always return an
OBEX_HTTP_OK response code.
The headers received in the request can be retrieved from the
request argument. The headers that should be sent
in the reply must be specified in the reply argument.
request - contains the headers sent by the client;
request will never be nullreply - the headers that should be sent in the reply;
reply will never be null
ResponseCodes that will be
returned to the client; if an invalid response code is provided, the
OBEX_HTTP_INTERNAL_ERROR response code will be used
public void onDisconnect(HeaderSet request,
HeaderSet reply)
The headers received in the request can be retrieved from the
request argument. The headers that should be sent
in the reply must be specified in the reply argument.
request - contains the headers sent by the client;
request will never be nullreply - the headers that should be sent in the reply;
reply will never be null
public int onSetPath(HeaderSet request,
HeaderSet reply,
boolean backup,
boolean create)
If this method is not implemented by the class that extends this
class, onSetPath() will always return an
OBEX_HTTP_NOT_IMPLEMENTED response code.
The headers received in the request can be retrieved from the
request argument. The headers that should be sent
in the reply must be specified in the reply argument.
request - contains the headers sent by the client;
request will never be nullreply - the headers that should be sent in the reply;
reply will never be nullbackup - true if the client requests that the server
back up one directory before changing to the path described by
name; false to apply the request to the present
pathcreate - true if the path should be created if it does
not already exist; false if the path should not be created
if it does not exist and an error code should be returned
ResponseCodes that will be
returned to the client; if an invalid response code is provided, the
OBEX_HTTP_INTERNAL_ERROR response code will be used
public int onDelete(HeaderSet request,
HeaderSet reply)
If this method is not implemented by the class that extends this
class, onDelete() will always return an
OBEX_HTTP_NOT_IMPLEMENTED response code.
The headers received in the request can be retrieved from the
request argument. The headers that should be sent
in the reply must be specified in the reply argument.
request - contains the headers sent by the client;
request will never be nullreply - the headers that should be sent in the reply;
reply will never be null
ResponseCodes that will be
returned to the client; if an invalid response code is provided, the
OBEX_HTTP_INTERNAL_ERROR response code will be usedpublic int onPut(Operation op)
If this method is not implemented by the class that extends this
class, onPut() will always return an
OBEX_HTTP_NOT_IMPLEMENTED response code.
If an ABORT request is received during the processing of a PUT request,
op will be closed by the implementation.
op - contains the headers sent by the client and allows new
headers to be sent in the reply; op will never be
null
ResponseCodes that will be
returned to the client; if an invalid response code is provided, the
OBEX_HTTP_INTERNAL_ERROR response code will be usedpublic int onGet(Operation op)
If this method is not implemented by the class that extends this
class, onGet() will always return an
OBEX_HTTP_NOT_IMPLEMENTED response code.
If an ABORT request is received during the processing of a GET request,
op will be closed by the implementation.
op - contains the headers sent by the client and allows new
headers to be sent in the reply; op will never be
null
ResponseCodes that will be
returned to the client; if an invalid response code is provided, the
OBEX_HTTP_INTERNAL_ERROR response code will be usedpublic void onAuthenticationFailure(byte[] userName)
If this method is not implemented by the class that extends this class, this method will do nothing.
userName - the user name returned in the authentication response;
null if no user name was provided in the response
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal