Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/**
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Unpublished - rights reserved under the Copyright Laws of the United States.
* Copyright ? 2003 Sun Microsystems, Inc. All rights reserved.
* Copyright ? 2005 BEA Systems, Inc. All rights reserved.
*
* Use is subject to license terms.
*
* This distribution may include materials developed by third parties.
*
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*
* Module Name : JSIP Specification
* File Name : MessageFactory.java
* Author : Phelim O'Doherty
*
* HISTORY
* Version Date Author Comments
* 1.1 08/10/2002 Phelim O'Doherty Initial version
* 1.2 11/15/2004 M. Ranganathan Null argument for createSipRequest creates am empty Sip Request
* Added new method to create a response from a String
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
package javax.sip.message;
import java.text.ParseException;
import javax.sip.header.*;
import javax.sip.address.URI;
import java.util.List;
/**
* This interface provides factory methods that allow an application to create
* Request and Response messages from a particular implementation of JAIN SIP.
* This class is a singleton and can be retrieved from the
* {@link javax.sip.SipFactory#createMessageFactory()}.
*
* @author BEA Systems, NIST
* @version 1.2
*/
public interface MessageFactory {
// Standard Request Creation methods
/**
* Creates a new Request message of type specified by the method paramater,
* containing the URI of the Request, the mandatory headers of the message
* with a body in the form of a Java object and the body content type.
*
* @param requestURI the new URI object of the requestURI value of this Message.
* @param method the new string of the method value of this Message.
* @param callId the new CallIdHeader object of the callId value of this Message.
* @param cSeq the new CSeqHeader object of the cSeq value of this Message.
* @param from the new FromHeader object of the from value of this Message.
* @param to the new ToHeader object of the to value of this Message.
* @param via the new List object of the ViaHeaders of this Message.
* @param contentType the new ContentTypeHeader object of the content type
* value of this Message.
* @param content the new Object of the body content value of this Message.
* @return the newly created Request object.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the method or the body.
*/
public Request createRequest(URI requestURI, String method, CallIdHeader
callId, CSeqHeader cSeq, FromHeader from, ToHeader to, List via,
MaxForwardsHeader maxForwards, ContentTypeHeader contentType,
Object content) throws ParseException;
/**
* Creates a new Request message of type specified by the method paramater,
* containing the URI of the Request, the mandatory headers of the message
* with a body in the form of a byte array and body content type.
*
* @param requestURI the new URI object of the requestURI value of this Message.
* @param method the new string of the method value of this Message.
* @param callId the new CallIdHeader object of the callId value of this Message.
* @param cSeq the new CSeqHeader object of the cSeq value of this Message.
* @param from the new FromHeader object of the from value of this Message.
* @param to the new ToHeader object of the to value of this Message.
* @param via the new List object of the ViaHeaders of this Message.
* @param contentType the new ContentTypeHeader object of the content type
* value of this Message.
* @param content the new byte array of the body content value of this Message.
* @return the newly created Request object.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the method or the body.
*/
public Request createRequest(URI requestURI, String method, CallIdHeader
callId, CSeqHeader cSeq, FromHeader from, ToHeader to, List via,
MaxForwardsHeader maxForwards, ContentTypeHeader contentType,
byte[] content) throws ParseException;
/**
* Creates a new Request message of type specified by the method paramater,
* containing the URI of the Request, the mandatory headers of the message.
* This new Request does not contain a body.
*
* @param requestURI the new URI object of the requestURI value of this Message.
* @param method the new string of the method value of this Message.
* @param callId the new CallIdHeader object of the callId value of this Message.
* @param cSeq the new CSeqHeader object of the cSeq value of this Message.
* @param from the new FromHeader object of the from value of this Message.
* @param to the new ToHeader object of the to value of this Message.
* @param via the new List object of the ViaHeaders of this Message.
* @return the newly created Request object.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the method.
*/
public Request createRequest(URI requestURI, String method, CallIdHeader
callId, CSeqHeader cSeq, FromHeader from, ToHeader to, List via,
MaxForwardsHeader maxForwards) throws ParseException;
// generic create message method
/**
* Create a new SIP Request object based on a specific string value. This
* method parses the supplied string into a SIP Request. The request
* string should only consist of the SIP portion of the Request and not
* the content. Supplying a null argument creates an empty SIP Request
* which may be used to end out "keep alive" messages for a connection.
*
* @param request the new string value of the Request.
* @return the newly created Request object.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the request.
*/
public Request createRequest(String request) throws ParseException;
// Standard Response Creation methods
/**
* Creates a new Response message of type specified by the statusCode
* paramater, containing the mandatory headers of the message with a body
* in the form of a Java object and the body content type.
*
* @param statusCode the new integer of the statusCode value of this Message.
* @param callId the new CallIdHeader object of the callId value of this Message.
* @param cSeq the new CSeqHeader object of the cSeq value of this Message.
* @param from the new FromHeader object of the from value of this Message.
* @param to the new ToHeader object of the to value of this Message.
* @param via the new List object of the ViaHeaders of this Message.
* @param contentType the new ContentTypeHeader object of the content type
* value of this Message.
* @param content the new Object of the body content value of this Message.
* @return the newly created Response object.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the statusCode or the body.
*/
public Response createResponse(int statusCode, CallIdHeader callId,
CSeqHeader cSeq, FromHeader from, ToHeader to, List via,
MaxForwardsHeader maxForwards, ContentTypeHeader contentType,
Object content) throws ParseException;
/**
* Creates a new Response message of type specified by the statusCode
* paramater, containing the mandatory headers of the message with a body
* in the form of a byte array and the body content type.
*
* @param statusCode the new integer of the statusCode value of this Message.
* @param callId the new CallIdHeader object of the callId value of this Message.
* @param cSeq the new CSeqHeader object of the cSeq value of this Message.
* @param from the new FromHeader object of the from value of this Message.
* @param to the new ToHeader object of the to value of this Message.
* @param via the new List object of the ViaHeaders of this Message.
* @param contentType the new ContentTypeHeader object of the content type
* value of this Message.
* @param content the new byte array of the body content value of this Message.
* @return the newly created Response object.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the statusCode or the body.
*/
public Response createResponse(int statusCode, CallIdHeader callId,
CSeqHeader cSeq, FromHeader from, ToHeader to, List via,
MaxForwardsHeader maxForwards, ContentTypeHeader contentType,
byte[] content) throws ParseException;
/**
* Creates a new Response message of type specified by the statusCode
* paramater, containing the mandatory headers of the message. This new
* Response does not contain a body.
*
* @param statusCode the new integer of the statusCode value of this Message.
* @param callId the new CallIdHeader object of the callId value of this Message.
* @param cSeq the new CSeqHeader object of the cSeq value of this Message.
* @param from the new FromHeader object of the from value of this Message.
* @param to the new ToHeader object of the to value of this Message.
* @param via the new List object of the ViaHeaders of this Message.
* @return the newly created Response object.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the statusCode.
*/
public Response createResponse(int statusCode, CallIdHeader callId,
CSeqHeader cSeq, FromHeader from, ToHeader to, List via,
MaxForwardsHeader maxForwards) throws ParseException;
// Response Creation methods based on a Request
/**
* Creates a new Response message of type specified by the statusCode
* paramater, based on a specific Request with a new body in the form of a
* Java object and the body content type. Only the required headers are
* copied from the Request.
*
* @param statusCode the new integer of the statusCode value of this Message.
* @param request the received Reqest object upon which to base the Response.
* @param contentType the new ContentTypeHeader object of the content type
* value of this Message.
* @param content the new Object of the body content value of this Message.
* @return the newly created Response object.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the statusCode or the body.
*/
public Response createResponse(int statusCode, Request request,
ContentTypeHeader contentType, Object content) throws ParseException;
/**
* Creates a new Response message of type specified by the statusCode
* paramater, based on a specific Request with a new body in the form of a
* byte array and the body content type. Only the required headers are
* copied from the Request.
*
* @param statusCode the new integer of the statusCode value of this Message.
* @param request the received Reqest object upon which to base the Response.
* @param contentType the new ContentTypeHeader object of the content type
* value of this Message.
* @param content the new byte array of the body content value of this Message.
* @return the newly created Response object.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the statusCode or the body.
*/
public Response createResponse(int statusCode, Request request,
ContentTypeHeader contentType, byte[] content) throws ParseException;
/**
* Creates a new Response message of type specified by the statusCode
* paramater, based on a specific Request message. This new Response does
* not contain a body. Only the required headers are copied from the
* Request.
*
* @param statusCode the new integer of the statusCode value of this Message.
* @param request the received Reqest object upon which to base the Response.
* @return the newly created Response object.
* @throws ParseException which signals that an error has been reached
* unexpectedly while parsing the statusCode.
*/
public Response createResponse(int statusCode, Request request)
throws ParseException;
/**
* Creates a Response from a String. This method parses the supplied string
* into a SIP Response. The response string should only consist of the
* SIP portion of the Response and not the content.
*
* @param response is a string representing the response. The argument should
* only contain the Sip Headers and not the body of the response.
* @throws ParseException which signals an error has been reached unexpectedly
* while parsing the response.
* @since v1.2
*
*/
public Response createResponse( String response) throws ParseException;
}