182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanpackage javax.sip.message;
282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport java.text.ParseException;
482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport java.util.List;
582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.address.URI;
682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.header.CSeqHeader;
782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.header.CallIdHeader;
882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.header.ContentTypeHeader;
982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.header.FromHeader;
1082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.header.MaxForwardsHeader;
1182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.header.ServerHeader;
1282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.header.ToHeader;
1382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanimport javax.sip.header.UserAgentHeader;
1482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
1582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyanpublic interface MessageFactory {
1682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Request createRequest(URI requestURI, String method, CallIdHeader callId,
1782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            CSeqHeader cSeq, FromHeader from, ToHeader to, List via,
1882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            MaxForwardsHeader maxForwards, ContentTypeHeader contentType,
1982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            Object content) throws ParseException;
2082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
2182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Request createRequest(URI requestURI, String method, CallIdHeader callId,
2282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            CSeqHeader cSeq, FromHeader from, ToHeader to, List via,
2382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            MaxForwardsHeader maxForwards, ContentTypeHeader contentType,
2482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            byte[] content) throws ParseException;
2582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
2682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Request createRequest(URI requestURI, String method, CallIdHeader callId,
2782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            CSeqHeader cSeq, FromHeader from, ToHeader to, List via,
2882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            MaxForwardsHeader maxForwards) throws ParseException;
2982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
3082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Request createRequest(String request) throws ParseException;
3182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
3282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Response createResponse(int statusCode, CallIdHeader callId,
3382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            CSeqHeader cSeq, FromHeader from, ToHeader to, List via,
3482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            MaxForwardsHeader maxForwards, ContentTypeHeader contentType,
3582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            Object content) throws ParseException;
3682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
3782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Response createResponse(int statusCode, CallIdHeader callId,
3882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            CSeqHeader cSeq, FromHeader from, ToHeader to, List via,
3982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            MaxForwardsHeader maxForwards, ContentTypeHeader contentType,
4082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            byte[] content) throws ParseException;
4182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
4282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Response createResponse(int statusCode, CallIdHeader callId,
4382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            CSeqHeader cSeq, FromHeader from, ToHeader to, List via,
4482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            MaxForwardsHeader maxForwards) throws ParseException;
4582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
4682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Response createResponse(int statusCode, Request request,
4782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            ContentTypeHeader contentType, Object content)
4882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            throws ParseException;
4982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
5082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Response createResponse(int statusCode, Request request,
5182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            ContentTypeHeader contentType, byte[] content)
5282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            throws ParseException;
5382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
5482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Response createResponse(int statusCode, Request request)
5582ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            throws ParseException;
5682ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
5782ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    Response createResponse(String response) throws ParseException;
5882ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
5982ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void setDefaultContentEncodingCharset(String defaultContentEncodingCharset)
6082ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan            throws NullPointerException, IllegalArgumentException;
6182ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void setDefaultServerHeader(ServerHeader defaultServerHeader);
6282ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan    void setDefaultUserAgentHeader(UserAgentHeader defaultUserAgentHeader);
6382ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan}
6482ea0633e3a0e2d77feed89f033e1dcf4a656c20Hung-ying Tyan
65