jain.protocol.ip.sip.header
Class ResponseKeyHeader

java.lang.Object
  |
  +--jain.protocol.ip.sip.header.Header
        |
        +--jain.protocol.ip.sip.header.RequestHeader
              |
              +--jain.protocol.ip.sip.header.ResponseKeyHeader

public final class ResponseKeyHeader
extends RequestHeader

This class represents the Response-Key request-header. The ResponseKeyHeader can be used by a client to request the key that the called user agent should use to encrypt the ResponseMessage with.

The scheme gives the type of encryption to be used for the ResponseMessage. If the client insists that the server return an encrypted ResponseMessage, it includes a RequireHeader with an option tag of "org.ietf.sip.encrypt-response" in its RequestMessage. If the server cannot encrypt for whatever reason, it must follow normal RequireHeader procedures and return a BAD_EXTENSION ResponseMessage. If this RequireHeader is not present, a server should still encrypt if it can.

Version:
0.6
See Also:
RequireHeader

Field Summary
static java.lang.String token
          Token of ResponseKeyHeader
 
Fields inherited from class jain.protocol.ip.sip.header.Header
ENTITY_HEADER, GENERAL_HEADER, REQUEST_HEADER, RESPONSE_HEADER
 
Constructor Summary
ResponseKeyHeader(java.lang.String scheme)
          Creates a ResponseKeyHeader based on given method
 
Method Summary
 java.lang.Object clone()
          Creates and returns a copy of ResponseKeyHeader
 boolean equals(ResponseKeyHeader responseKeyHeader)
          Indicates whether some other ResponseKeyHeader is "equal to" this one
 java.lang.String getParameter(java.lang.String parameter)
          Gets the value of specified parameter in ResponseKeyHeader
 java.lang.String[] getParameters()
          Gets an array of ResponseKeyHeader's parameter names
 java.lang.String getScheme()
          Gets scheme of ResponseKeyHeader
 java.lang.String getValue()
          Gets value of ResponseKeyHeader
 boolean hasParameter(java.lang.String parameter)
          Gets boolean value to indicate if the ResponseKeyHeader has specified parameter
 boolean hasParameters()
          Gets boolean value to indicate if the ResponseKeyHeader has parameters
 void removeParameter(java.lang.String parameter)
          Removes specified parameter from ResponseKeyHeader
 void removeParameters()
          Removes all parameters from ResponseKeyHeader
 void setParameter(java.lang.String parameter, java.lang.String value)
          Sets value of parameter to value in ResponseKeyHeader
 void setScheme(java.lang.String scheme)
          Set scheme of ResponseKeyHeader
 
Methods inherited from class jain.protocol.ip.sip.header.Header
equals, getHeaderType, getToken, setValue, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

token

public static final java.lang.String token
Token of ResponseKeyHeader
Constructor Detail

ResponseKeyHeader

public ResponseKeyHeader(java.lang.String scheme)
                  throws java.lang.IllegalArgumentException
Creates a ResponseKeyHeader based on given method
Parameters:
credentals - credentals
Throws:
java.lang.IllegalArgumentException - if credentals is null
Method Detail

getParameter

public java.lang.String getParameter(java.lang.String parameter)
                              throws ParameterNotSetException
Gets the value of specified parameter in ResponseKeyHeader
Parameters:
parameter - parameter to retrieve
Returns:
the value of specified parameter in ResponseKeyHeader
Throws:
ParameterNotException - if the extension does not exist

hasParameters

public boolean hasParameters()
Gets boolean value to indicate if the ResponseKeyHeader has parameters
Returns:
boolean value to indicate if the ResponseKeyHeader has parameters

hasParameter

public boolean hasParameter(java.lang.String parameter)
Gets boolean value to indicate if the ResponseKeyHeader has specified parameter
Returns:
boolean value to indicate if the ResponseKeyHeader has specified parameter

setParameter

public void setParameter(java.lang.String parameter,
                         java.lang.String value)
Sets value of parameter to value in ResponseKeyHeader
Parameters:
parameter - name of parameter
value - value of parameter
Throws:
java.lang.IllegalArgumentException - if parameter or value are null or zero-length

getParameters

public java.lang.String[] getParameters()
                                 throws ParameterNotSetException
Gets an array of ResponseKeyHeader's parameter names
Returns:
an array of ResponseKeyHeader's parameter names
Throws:
ParameterNotSetException - if no parameters exist

removeParameter

public void removeParameter(java.lang.String parameter)
Removes specified parameter from ResponseKeyHeader
Parameters:
parameter - parameter to remove from ResponseKeyHeader

removeParameters

public void removeParameters()
Removes all parameters from ResponseKeyHeader
Parameters:
parameter - parameter to remove from ResponseKeyHeader

setScheme

public void setScheme(java.lang.String scheme)
               throws java.lang.IllegalArgumentException
Set scheme of ResponseKeyHeader
Parameters:
scheme - scheme
Throws:
java.lang.IllegalArgumentException - if scheme is null or zero-length

getScheme

public java.lang.String getScheme()
Gets scheme of ResponseKeyHeader
Returns:
scheme of ResponseKeyHeader

getValue

public java.lang.String getValue()
Gets value of ResponseKeyHeader
Overrides:
getValue in class Header
Returns:
value of ResponseKeyHeader

clone

public java.lang.Object clone()
Creates and returns a copy of ResponseKeyHeader
Overrides:
clone in class Header

equals

public boolean equals(ResponseKeyHeader responseKeyHeader)
Indicates whether some other ResponseKeyHeader is "equal to" this one
Parameters:
responseKeyHeader - the ResponseKeyHeader with which to compare


If you have any comments or queries, please mail them to JAIN-SIP-interest@sun.com


Copyright - 2000 Sun Microsystems