1600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangpackage gov.nist.javax.sip.message;
2600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
3600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.ContentTypeHeader;
4600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.ServerHeader;
5600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.UserAgentHeader;
6600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.message.MessageFactory;
7600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
8600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang/**
9600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Intefaces that will be supported by the next release of JAIN-SIP.
10600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang *
11600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @author mranga
12600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang *
13600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */
14600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangpublic interface MessageFactoryExt extends MessageFactory {
15600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang    /**
16600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * Set the common UserAgent header for all Requests created from this message factory.
17600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * This header is applied to all Messages created from this Factory object except those
18600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * that take String for an argument and create Message from the given String.
19600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
20600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * @param userAgent -- the user agent header to set.
21600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
22600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     */
23600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
24600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang    public void setDefaultUserAgentHeader(UserAgentHeader userAgent);
25600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
26600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
27600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang    /**
28600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * Set the common Server header for all Responses created from this message factory.
29600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * This header is applied to all Messages created from this Factory object except those
30600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * that take String for an argument and create Message from the given String.
31600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
32600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * @param userAgent -- the user agent header to set.
33600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
34600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * @since 2.0
35600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
36600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     */
37600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
38600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang    public void setDefaultServerHeader(ServerHeader userAgent);
39600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
40600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang    /**
41600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * Set default charset used for encoding String content. Note that this
42600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * will be applied to all content that is encoded. The default is UTF-8.
43600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
44600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * @since 2.0
45600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
46600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * @param charset -- charset to set.
47600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * @throws NullPointerException if null arg
48600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * @throws IllegalArgumentException if Charset is not a known charset.
49600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
50600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     */
51600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang    public  void setDefaultContentEncodingCharset(String charset)
52600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang            throws NullPointerException,IllegalArgumentException ;
53600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
54600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang    /**
55600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * Create a MultipartMime attachment from a list of content type, subtype and content.
56600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
57600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * @since 2.0
58600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     *
59600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     * @throws NullPointerException, IllegalArgumentException
60600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang     */
61600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang    public MultipartMimeContent createMultipartMimeContent(ContentTypeHeader multipartMimeContentTypeHeader,
62600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang            String[] contentType,
63600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang            String[] contentSubtype,
64600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang            String[] contentBody);
65600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
66600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
67600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
68600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
69600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang
70600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang}
71