[ 
https://issues.apache.org/jira/browse/MIME4J-192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13020765#comment-13020765
 ] 

Oleg Kalnichevski edited comment on MIME4J-192 at 4/17/11 10:47 AM:
--------------------------------------------------------------------

I am not in favor of adding setters to the MessageBuilder interface. 

Pass whatever parameters you need to your newMessageBuilder method and let it 
create an instance of MessageBuilder with the given parameters
----
    public Message(InputStream is) throws IOException, MimeException {
        MessageBuilder mb = newMessageBuilder(true, false);
        org.apache.james.mime4j.dom.Message mImpl = mb.parse(new 
EOLConvertingInputStream(is));
        
        this.message = mImpl;
    }
---- 


      was (Author: olegk):
    I am not in favor of adding setters to MessageBuilder interface. 

Pass whatever parameters you need to your newMessageBuilder builder and let it 
create an instance of MessageBuilder with the given parameters
----
    public Message(InputStream is) throws IOException, MimeException {
        MessageBuilder mb = newMessageBuilder(true, false);
        org.apache.james.mime4j.dom.Message mImpl = mb.parse(new 
EOLConvertingInputStream(is));
        
        this.message = mImpl;
    }
---- 

  
> setFlatMode and setContentDecoding are not exposed by the MessageBuilder 
> interface
> ----------------------------------------------------------------------------------
>
>                 Key: MIME4J-192
>                 URL: https://issues.apache.org/jira/browse/MIME4J-192
>             Project: JAMES Mime4j
>          Issue Type: Improvement
>          Components: dom
>    Affects Versions: 0.7
>            Reporter: Stefano Bagnara
>             Fix For: 0.7
>
>
> Here is jDKIM use case:
> ----
>     public Message(InputStream is) throws IOException, MimeException {
>         MessageBuilder mb = newMessageBuilder();
>         
>         if (mb instanceof MessageBuilderImpl) {
>               ((MessageBuilderImpl) mb).setFlatMode(true);
>               ((MessageBuilderImpl) mb).setContentDecoding(false);
>         }
>         org.apache.james.mime4j.dom.Message mImpl = mb.parse(new 
> EOLConvertingInputStream(is));
>         
>         this.message = mImpl;
>     }
> ----
> Is this the expected client pattern? Or should we expose setFlatMode and 
> setContentDecoding in the MessageBuilder interface so to remove the class 
> casting requirement?

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to