MjSip Stack
v1.6

org.zoolu.sip.message
Class BaseMessageOtp

java.lang.Object
  |
  +--org.zoolu.sip.message.BaseMessage
        |
        +--org.zoolu.sip.message.BaseMessageOtp

public abstract class BaseMessageOtp
extends BaseMessage

Class BaseMessageOtp implements a generic SIP Message. It extends class BaseMessage adding one-time-parsing functionality (it parses the entire Message just when it is costructed).

At the contrary, class BaseMessage works in a just-in-time manner (it parses the message each time a particular header field is requested).


Field Summary
protected  java.lang.String body
           
protected  java.util.Vector headers
           
protected  RequestLine request_line
           
protected  StatusLine status_line
           
 
Fields inherited from class org.zoolu.sip.message.BaseMessage
connection_id, MAX_PKT_SIZE, PROTO_SCTP, PROTO_TCP, PROTO_TLS, PROTO_UDP, remote_addr, remote_port, transport_proto
 
Constructor Summary
BaseMessageOtp()
          Costructs a new empty Message
BaseMessageOtp(BaseMessageOtp msg)
          Costructs a new Message
BaseMessageOtp(byte[] data, int offset, int len)
          Costructs a new Message
BaseMessageOtp(java.lang.String str)
          Costructs a new Message
BaseMessageOtp(UdpPacket packet)
          Costructs a new Message
 
Method Summary
 void addHeader(Header header, boolean top)
          Adds Header at the top/bottom.
 void addHeaderAfter(Header new_header, java.lang.String refer_hname)
          Adds Header after the first header refer_hname .
 void addHeaderBefore(Header new_header, java.lang.String refer_hname)
          Adds Header before the first header refer_hname .
 void addHeaders(MultipleHeader mheader, boolean top)
          Adds MultipleHeader(s) mheader at the top/bottom
 void addHeaders(java.util.Vector headers, boolean top)
          Adds a Vector of Headers at the top/bottom
 void addHeadersAfter(MultipleHeader mheader, java.lang.String refer_hname)
          Adds MultipleHeader(s) after the first header refer_hname .
 void addHeadersBefore(MultipleHeader mheader, java.lang.String refer_hname)
          Adds MultipleHeader(s) before the first header refer_hname .
 java.lang.String getBody()
          Gets message body.
 java.lang.String getBodyType()
          Gets body(content) type
 Header getHeader(java.lang.String hname)
          Gets the first Header of specified name (Returns null if no Header is found)
 java.util.Vector getHeaders(java.lang.String hname)
          Gets a Vector of all Headers of specified name (Returns empty Vector if no Header is found)
 int getLength()
          Gets message length
 RequestLine getRequestLine()
          Gets RequestLine in Message (Returns null if called for no request message)
 StatusLine getStatusLine()
          Gets StautsLine in Message (Returns null if called for no response message)
 boolean hasBody()
          Whether Message has Body
protected  boolean hasRequestLine()
          Whether Message has Request-line
protected  boolean hasStatusLine()
          Whether Message has Status-line
protected  int indexOfHeader(java.lang.String hname)
          Gets the position of header hname.
 boolean isRequest()
          Whether Message is a Request
 boolean isRequest(java.lang.String method)
          Whether Message is a method request
 boolean isResponse()
          Whether Message is a Response
 void removeAllHeaders(java.lang.String hname)
          Removes all Headers of specified name
 void removeBody()
          Removes the message body (if it exists) and the final empty line
protected  void removeFirstLine()
          Removes Request\Status Line of the Message
 void removeHeader(java.lang.String hname)
          Removes first Header of specified name
 void removeHeader(java.lang.String hname, boolean first)
          Removes first (or last) Header of specified name.
 void removeRequestLine()
          Removes RequestLine of the Message
 void removeStatusLine()
          Removes StatusLine of the Message
 void setBody(java.lang.String content_type, java.lang.String body)
          Sets the message body
 void setHeader(Header hd)
          Sets the Header hd removing any previous headers of the same type.
 void setHeaders(MultipleHeader mheader)
          Sets MultipleHeader mheader
 void setMessage(java.lang.String str)
          Sets the entire message
 void setRequestLine(RequestLine rl)
          Sets RequestLine of the Message
 void setStatusLine(StatusLine sl)
          Sets StatusLine of the Message
 java.lang.String toString()
          Gets string representation of Message
 
Methods inherited from class org.zoolu.sip.message.BaseMessage
addContactHeader, addContacts, addHeaders, addHeaders, addHeadersAfter, addHeadersBefore, addRecordRouteHeader, addRecordRoutes, addRouteHeader, addRoutes, addViaHeader, addVias, clone, createsDialog, getAcceptHeader, getAlertInfoHeader, getAllowHeader, getAuthenticationInfoHeader, getAuthorizationHeader, getCallIdHeader, getConnectionId, getContactHeader, getContacts, getContentLengthHeader, getContentTypeHeader, getCSeqHeader, getDateHeader, getDialogId, getExpiresHeader, getFirstLine, getFromHeader, getMaxForwardsHeader, getMethodId, getProxyAuthenticateHeader, getProxyAuthorizationHeader, getRecordRouteHeader, getRecordRoutes, getRemoteAddress, getRemotePort, getRouteHeader, getRoutes, getServerHeader, getSubjectHeader, getToHeader, getTransactionId, getTransactionMethod, getTransportProtocol, getUserAgentHeader, getViaHeader, getVias, getWwwAuthenticateHeader, hasAcceptHeader, hasAlertInfoHeader, hasAllowHeader, hasAuthenticationInfoHeader, hasAuthorizationHeader, hasCallIdHeader, hasContactHeader, hasContentLengthHeader, hasContentTypeHeader, hasCSeqHeader, hasDateHeader, hasExpiresHeader, hasFromHeader, hasHeader, hasMaxForwardsHeader, hasProxyAuthenticateHeader, hasProxyAuthorizationHeader, hasRecordRouteHeader, hasRouteHeader, hasServerHeader, hasSubjectHeader, hasToHeader, hasUserAgentHeader, hasViaHeader, hasWwwAuthenticateHeader, isAck, isBye, isCancel, isInfo, isInvite, isOption, isRegister, removeAcceptHeader, removeAlertInfoHeader, removeAllowHeader, removeAuthenticationInfoHeader, removeAuthorizationHeader, removeCallIdHeader, removeContacts, removeContentLengthHeader, removeContentTypeHeader, removeCSeqHeader, removeDateHeader, removeExpiresHeader, removeFromHeader, removeMaxForwardsHeader, removeProxyAuthenticateHeader, removeProxyAuthorizationHeader, removeRecordRouteHeader, removeRecordRoutes, removeRouteHeader, removeRoutes, removeServerHeader, removeSubjectHeader, removeToHeader, removeUserAgentHeader, removeViaHeader, removeVias, removeWwwAuthenticateHeader, rfc2543RouteAdapt, rfc2543toRfc3261RouteUpdate, setAcceptHeader, setAlertInfoHeader, setAllowHeader, setAuthenticationInfoHeader, setAuthorizationHeader, setBody, setCallIdHeader, setConnectionId, setContactHeader, setContacts, setContentLengthHeader, setContentTypeHeader, setCSeqHeader, setDateHeader, setExpiresHeader, setFromHeader, setMaxForwardsHeader, setProxyAuthenticateHeader, setProxyAuthorizationHeader, setRecordRoutes, setRemoteAddress, setRemotePort, setRoutes, setServerHeader, setSubjectHeader, setToHeader, setTransport, setUserAgentHeader, setVias, setWwwAuthenticateHeader
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

request_line

protected RequestLine request_line

status_line

protected StatusLine status_line

headers

protected java.util.Vector headers

body

protected java.lang.String body
Constructor Detail

BaseMessageOtp

public BaseMessageOtp()
Costructs a new empty Message

BaseMessageOtp

public BaseMessageOtp(byte[] data,
                      int offset,
                      int len)
Costructs a new Message

BaseMessageOtp

public BaseMessageOtp(UdpPacket packet)
Costructs a new Message

BaseMessageOtp

public BaseMessageOtp(java.lang.String str)
Costructs a new Message

BaseMessageOtp

public BaseMessageOtp(BaseMessageOtp msg)
Costructs a new Message
Method Detail

setMessage

public void setMessage(java.lang.String str)
Sets the entire message
Overrides:
setMessage in class BaseMessage

toString

public java.lang.String toString()
Gets string representation of Message
Overrides:
toString in class BaseMessage

getLength

public int getLength()
Gets message length
Overrides:
getLength in class BaseMessage

isRequest

public boolean isRequest()
Whether Message is a Request
Overrides:
isRequest in class BaseMessage

isRequest

public boolean isRequest(java.lang.String method)
Whether Message is a method request
Overrides:
isRequest in class BaseMessage

hasRequestLine

protected boolean hasRequestLine()
Whether Message has Request-line
Overrides:
hasRequestLine in class BaseMessage

getRequestLine

public RequestLine getRequestLine()
Gets RequestLine in Message (Returns null if called for no request message)
Overrides:
getRequestLine in class BaseMessage

setRequestLine

public void setRequestLine(RequestLine rl)
Sets RequestLine of the Message
Overrides:
setRequestLine in class BaseMessage

removeRequestLine

public void removeRequestLine()
Removes RequestLine of the Message
Overrides:
removeRequestLine in class BaseMessage

isResponse

public boolean isResponse()
                   throws java.lang.NullPointerException
Whether Message is a Response
Overrides:
isResponse in class BaseMessage

hasStatusLine

protected boolean hasStatusLine()
Whether Message has Status-line
Overrides:
hasStatusLine in class BaseMessage

getStatusLine

public StatusLine getStatusLine()
Gets StautsLine in Message (Returns null if called for no response message)
Overrides:
getStatusLine in class BaseMessage

setStatusLine

public void setStatusLine(StatusLine sl)
Sets StatusLine of the Message
Overrides:
setStatusLine in class BaseMessage

removeStatusLine

public void removeStatusLine()
Removes StatusLine of the Message
Overrides:
removeStatusLine in class BaseMessage

removeFirstLine

protected void removeFirstLine()
Removes Request\Status Line of the Message
Overrides:
removeFirstLine in class BaseMessage

indexOfHeader

protected int indexOfHeader(java.lang.String hname)
Gets the position of header hname.

getHeader

public Header getHeader(java.lang.String hname)
Gets the first Header of specified name (Returns null if no Header is found)
Overrides:
getHeader in class BaseMessage

getHeaders

public java.util.Vector getHeaders(java.lang.String hname)
Gets a Vector of all Headers of specified name (Returns empty Vector if no Header is found)
Overrides:
getHeaders in class BaseMessage

addHeader

public void addHeader(Header header,
                      boolean top)
Adds Header at the top/bottom. The bottom is considered before the Content-Length and Content-Type headers
Overrides:
addHeader in class BaseMessage

addHeaders

public void addHeaders(java.util.Vector headers,
                       boolean top)
Adds a Vector of Headers at the top/bottom
Overrides:
addHeaders in class BaseMessage

addHeaders

public void addHeaders(MultipleHeader mheader,
                       boolean top)
Adds MultipleHeader(s) mheader at the top/bottom
Overrides:
addHeaders in class BaseMessage

addHeaderBefore

public void addHeaderBefore(Header new_header,
                            java.lang.String refer_hname)
Adds Header before the first header refer_hname .

If there is no header of such type, it is added at top

Overrides:
addHeaderBefore in class BaseMessage

addHeadersBefore

public void addHeadersBefore(MultipleHeader mheader,
                             java.lang.String refer_hname)
Adds MultipleHeader(s) before the first header refer_hname .

If there is no header of such type, they are added at top

Overrides:
addHeadersBefore in class BaseMessage

addHeaderAfter

public void addHeaderAfter(Header new_header,
                           java.lang.String refer_hname)
Adds Header after the first header refer_hname .

If there is no header of such type, it is added at bottom

Overrides:
addHeaderAfter in class BaseMessage

addHeadersAfter

public void addHeadersAfter(MultipleHeader mheader,
                            java.lang.String refer_hname)
Adds MultipleHeader(s) after the first header refer_hname .

If there is no header of such type, they are added at bottom

Overrides:
addHeadersAfter in class BaseMessage

removeHeader

public void removeHeader(java.lang.String hname)
Removes first Header of specified name
Overrides:
removeHeader in class BaseMessage

removeHeader

public void removeHeader(java.lang.String hname,
                         boolean first)
Removes first (or last) Header of specified name.
Overrides:
removeHeader in class BaseMessage

removeAllHeaders

public void removeAllHeaders(java.lang.String hname)
Removes all Headers of specified name
Overrides:
removeAllHeaders in class BaseMessage

setHeader

public void setHeader(Header hd)
Sets the Header hd removing any previous headers of the same type.
Overrides:
setHeader in class BaseMessage

setHeaders

public void setHeaders(MultipleHeader mheader)
Sets MultipleHeader mheader
Overrides:
setHeaders in class BaseMessage

hasBody

public boolean hasBody()
Whether Message has Body
Overrides:
hasBody in class BaseMessage

getBodyType

public java.lang.String getBodyType()
Gets body(content) type
Overrides:
getBodyType in class BaseMessage

setBody

public void setBody(java.lang.String content_type,
                    java.lang.String body)
Sets the message body
Overrides:
setBody in class BaseMessage

getBody

public java.lang.String getBody()
Gets message body. The end of body is evaluated from the Content-Length header if present (SIP-RFC compliant), or from the end of message if no Content-Length header is present (non-SIP-RFC compliant)
Overrides:
getBody in class BaseMessage

removeBody

public void removeBody()
Removes the message body (if it exists) and the final empty line
Overrides:
removeBody in class BaseMessage

MjSip Stack
v1.6