|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.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 |
---|
clone, equals, finalize, 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
java.lang.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 null
reply
- 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 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 null
reply
- 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 null
reply
- the headers that should be sent in the reply;
reply
will never be null
backup
- 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 usedpublic 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 null
reply
- 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 |