1package gov.nist.javax.sip.message;
2
3import javax.sip.header.ContentTypeHeader;
4import javax.sip.header.ServerHeader;
5import javax.sip.header.UserAgentHeader;
6import javax.sip.message.MessageFactory;
7
8/**
9 * Intefaces that will be supported by the next release of JAIN-SIP.
10 *
11 * @author mranga
12 *
13 */
14public interface MessageFactoryExt extends MessageFactory {
15    /**
16     * Set the common UserAgent header for all Requests created from this message factory.
17     * This header is applied to all Messages created from this Factory object except those
18     * that take String for an argument and create Message from the given String.
19     *
20     * @param userAgent -- the user agent header to set.
21     *
22     */
23
24    public void setDefaultUserAgentHeader(UserAgentHeader userAgent);
25
26
27    /**
28     * Set the common Server header for all Responses created from this message factory.
29     * This header is applied to all Messages created from this Factory object except those
30     * that take String for an argument and create Message from the given String.
31     *
32     * @param userAgent -- the user agent header to set.
33     *
34     * @since 2.0
35     *
36     */
37
38    public void setDefaultServerHeader(ServerHeader userAgent);
39
40    /**
41     * Set default charset used for encoding String content. Note that this
42     * will be applied to all content that is encoded. The default is UTF-8.
43     *
44     * @since 2.0
45     *
46     * @param charset -- charset to set.
47     * @throws NullPointerException if null arg
48     * @throws IllegalArgumentException if Charset is not a known charset.
49     *
50     */
51    public  void setDefaultContentEncodingCharset(String charset)
52            throws NullPointerException,IllegalArgumentException ;
53
54    /**
55     * Create a MultipartMime attachment from a list of content type, subtype and content.
56     *
57     * @since 2.0
58     *
59     * @throws NullPointerException, IllegalArgumentException
60     */
61    public MultipartMimeContent createMultipartMimeContent(ContentTypeHeader multipartMimeContentTypeHeader,
62            String[] contentType,
63            String[] contentSubtype,
64            String[] contentBody);
65
66
67
68
69
70}
71