You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mime4j-dev@james.apache.org by ol...@apache.org on 2011/05/24 14:35:11 UTC

svn commit: r1127006 - in /james/mime4j/trunk: core/src/main/java/org/apache/james/mime4j/stream/ dom/src/main/java/org/apache/james/mime4j/field/ dom/src/main/java/org/apache/james/mime4j/message/

Author: olegk
Date: Tue May 24 12:35:10 2011
New Revision: 1127006

URL: http://svn.apache.org/viewvc?rev=1127006&view=rev
Log:
Follow-up to MIME4J-116: FieldParser interface changed to take Field as an input parameter. This enables more efficient parser implementations that can make use of RawField data without having to make an intermediate copy of the field body

Modified:
    james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/stream/AbstractEntity.java
    james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/stream/FieldParser.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/AddressListFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentDescriptionFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentDispositionFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentIdFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLanguageFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLengthFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLocationFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentMD5FieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentTransferEncodingFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentTypeFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DateTimeFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DefaultFieldParser.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DelegatingFieldParser.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/Fields.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MailboxFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MailboxListFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MimeVersionFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/UnstructuredFieldImpl.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/EntityBuilder.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MaximalBodyDescriptor.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MinimalBodyDescriptor.java
    james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/SimpleContentHandler.java

Modified: james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/stream/AbstractEntity.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/stream/AbstractEntity.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/stream/AbstractEntity.java (original)
+++ james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/stream/AbstractEntity.java Tue May 24 12:35:10 2011
@@ -150,8 +150,7 @@ abstract class AbstractEntity implements
                     monitor(Event.OBSOLETE_HEADER);
                 }
                 if (fieldParser != null) {
-                    field = fieldParser.parse(
-                            rawfield.getName(), rawfield.getBody(), rawfield.getRaw(), monitor);
+                    field = fieldParser.parse(rawfield, monitor);
                 } else {
                     field = rawfield;
                 }

Modified: james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/stream/FieldParser.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/stream/FieldParser.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/stream/FieldParser.java (original)
+++ james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/stream/FieldParser.java Tue May 24 12:35:10 2011
@@ -20,10 +20,9 @@
 package org.apache.james.mime4j.stream;
 
 import org.apache.james.mime4j.codec.DecodeMonitor;
-import org.apache.james.mime4j.util.ByteSequence;
 
 public interface FieldParser<T extends Field> {
     
-    T parse(String name, String body, ByteSequence raw, DecodeMonitor monitor);
+    T parse(Field rawField, DecodeMonitor monitor);
     
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/AddressListFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/AddressListFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/AddressListFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/AddressListFieldImpl.java Tue May 24 12:35:10 2011
@@ -24,6 +24,7 @@ import org.apache.james.mime4j.dom.addre
 import org.apache.james.mime4j.dom.field.AddressListField;
 import org.apache.james.mime4j.field.address.AddressBuilder;
 import org.apache.james.mime4j.field.address.ParseException;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -75,9 +76,10 @@ public class AddressListFieldImpl extend
     }
 
     public static final FieldParser<AddressListField> PARSER = new FieldParser<AddressListField>() {
-        public AddressListField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new AddressListFieldImpl(name, body, raw, monitor);
+        
+        public AddressListField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new AddressListFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentDescriptionFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentDescriptionFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentDescriptionFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentDescriptionFieldImpl.java Tue May 24 12:35:10 2011
@@ -21,6 +21,7 @@ package org.apache.james.mime4j.field;
 
 import org.apache.james.mime4j.codec.DecodeMonitor;
 import org.apache.james.mime4j.dom.field.ContentDescriptionField;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -54,10 +55,11 @@ public class ContentDescriptionFieldImpl
     }
 
     public static final FieldParser<ContentDescriptionField> PARSER = new FieldParser<ContentDescriptionField>() {
-        public ContentDescriptionField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new ContentDescriptionFieldImpl(name, body, raw, monitor);
+        
+        public ContentDescriptionField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new ContentDescriptionFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
 
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentDispositionFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentDispositionFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentDispositionFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentDispositionFieldImpl.java Tue May 24 12:35:10 2011
@@ -33,6 +33,7 @@ import org.apache.james.mime4j.field.con
 import org.apache.james.mime4j.field.contentdisposition.parser.ParseException;
 import org.apache.james.mime4j.field.contentdisposition.parser.TokenMgrError;
 import org.apache.james.mime4j.field.datetime.parser.DateTimeParser;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -247,9 +248,10 @@ public class ContentDispositionFieldImpl
     }
 
     public static final FieldParser<ContentDispositionField> PARSER = new FieldParser<ContentDispositionField>() {
-        public ContentDispositionField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new ContentDispositionFieldImpl(name, body, raw, monitor);
+        
+        public ContentDispositionField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new ContentDispositionFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentIdFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentIdFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentIdFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentIdFieldImpl.java Tue May 24 12:35:10 2011
@@ -21,6 +21,7 @@ package org.apache.james.mime4j.field;
 
 import org.apache.james.mime4j.codec.DecodeMonitor;
 import org.apache.james.mime4j.dom.field.ContentIdField;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -54,10 +55,11 @@ public class ContentIdFieldImpl extends 
     }
 
     public static final FieldParser<ContentIdField> PARSER = new FieldParser<ContentIdField>() {
-        public ContentIdField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new ContentIdFieldImpl(name, body, raw, monitor);
+        
+        public ContentIdField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new ContentIdFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
 
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLanguageFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLanguageFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLanguageFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLanguageFieldImpl.java Tue May 24 12:35:10 2011
@@ -27,6 +27,7 @@ import org.apache.james.mime4j.codec.Dec
 import org.apache.james.mime4j.dom.field.ContentLanguageField;
 import org.apache.james.mime4j.field.language.parser.ContentLanguageParser;
 import org.apache.james.mime4j.field.language.parser.ParseException;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -72,10 +73,11 @@ public class ContentLanguageFieldImpl ex
     }
 
     public static final FieldParser<ContentLanguageField> PARSER = new FieldParser<ContentLanguageField>() {
-        public ContentLanguageField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new ContentLanguageFieldImpl(name, body, raw, monitor);
+        
+        public ContentLanguageField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new ContentLanguageFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
 
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLengthFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLengthFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLengthFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLengthFieldImpl.java Tue May 24 12:35:10 2011
@@ -21,6 +21,7 @@ package org.apache.james.mime4j.field;
 
 import org.apache.james.mime4j.codec.DecodeMonitor;
 import org.apache.james.mime4j.dom.field.ContentLengthField;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -69,9 +70,10 @@ public class ContentLengthFieldImpl exte
     }
 
     public static final FieldParser<ContentLengthField> PARSER = new FieldParser<ContentLengthField>() {
-        public ContentLengthField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new ContentLengthFieldImpl(name, body, raw, monitor);
+        
+        public ContentLengthField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new ContentLengthFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLocationFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLocationFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLocationFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentLocationFieldImpl.java Tue May 24 12:35:10 2011
@@ -25,6 +25,7 @@ import org.apache.james.mime4j.codec.Dec
 import org.apache.james.mime4j.dom.field.ContentLocationField;
 import org.apache.james.mime4j.field.structured.parser.ParseException;
 import org.apache.james.mime4j.field.structured.parser.StructuredFieldParser;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -78,10 +79,11 @@ public class ContentLocationFieldImpl ex
     }
 
     public static final FieldParser<ContentLocationField> PARSER = new FieldParser<ContentLocationField>() {
-        public ContentLocationField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new ContentLocationFieldImpl(name, body, raw, monitor);
+        
+        public ContentLocationField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new ContentLocationFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
 
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentMD5FieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentMD5FieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentMD5FieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentMD5FieldImpl.java Tue May 24 12:35:10 2011
@@ -21,6 +21,7 @@ package org.apache.james.mime4j.field;
 
 import org.apache.james.mime4j.codec.DecodeMonitor;
 import org.apache.james.mime4j.dom.field.ContentMD5Field;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -54,10 +55,11 @@ public class ContentMD5FieldImpl extends
     }
 
     public static final FieldParser<ContentMD5Field> PARSER = new FieldParser<ContentMD5Field>() {
-        public ContentMD5Field parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new ContentMD5FieldImpl(name, body, raw, monitor);
+        
+        public ContentMD5Field parse(final Field rawField, final DecodeMonitor monitor) {
+            return new ContentMD5FieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
 
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentTransferEncodingFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentTransferEncodingFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentTransferEncodingFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentTransferEncodingFieldImpl.java Tue May 24 12:35:10 2011
@@ -23,6 +23,7 @@ import java.util.Locale;
 
 import org.apache.james.mime4j.codec.DecodeMonitor;
 import org.apache.james.mime4j.dom.field.ContentTransferEncodingField;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 import org.apache.james.mime4j.util.MimeUtil;
@@ -74,9 +75,10 @@ public class ContentTransferEncodingFiel
     }
 
     public static final FieldParser<ContentTransferEncodingField> PARSER = new FieldParser<ContentTransferEncodingField>() {
-        public ContentTransferEncodingField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new ContentTransferEncodingFieldImpl(name, body, raw, monitor);
+        
+        public ContentTransferEncodingField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new ContentTransferEncodingFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentTypeFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentTypeFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentTypeFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/ContentTypeFieldImpl.java Tue May 24 12:35:10 2011
@@ -30,6 +30,7 @@ import org.apache.james.mime4j.dom.field
 import org.apache.james.mime4j.field.contenttype.parser.ContentTypeParser;
 import org.apache.james.mime4j.field.contenttype.parser.ParseException;
 import org.apache.james.mime4j.field.contenttype.parser.TokenMgrError;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -223,9 +224,10 @@ public class ContentTypeFieldImpl extend
     }
 
     public static final FieldParser<ContentTypeField> PARSER = new FieldParser<ContentTypeField>() {
-        public ContentTypeField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new ContentTypeFieldImpl(name, body, raw, monitor);
+        
+        public ContentTypeField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new ContentTypeFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DateTimeFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DateTimeFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DateTimeFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DateTimeFieldImpl.java Tue May 24 12:35:10 2011
@@ -27,6 +27,7 @@ import org.apache.james.mime4j.dom.field
 import org.apache.james.mime4j.field.datetime.parser.DateTimeParser;
 import org.apache.james.mime4j.field.datetime.parser.ParseException;
 import org.apache.james.mime4j.field.datetime.parser.TokenMgrError;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -80,9 +81,10 @@ public class DateTimeFieldImpl extends A
     }
 
     public static final FieldParser<DateTimeField> PARSER = new FieldParser<DateTimeField>() {
-        public DateTimeField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new DateTimeFieldImpl(name, body, raw, monitor);
+        
+        public DateTimeField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new DateTimeFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DefaultFieldParser.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DefaultFieldParser.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DefaultFieldParser.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DefaultFieldParser.java Tue May 24 12:35:10 2011
@@ -64,24 +64,7 @@ public class DefaultFieldParser extends 
             final ByteSequence raw, 
             final DecodeMonitor monitor) throws MimeException {
         Field rawField = RawFieldParser.DEFAULT.parseField(raw);
-        return PARSER.parse(rawField.getName(), rawField.getBody(), raw, monitor);
-    }
-
-    /**
-     * Parses the given <code>RawField</code> and returns an instance of the
-     * <code>Field</code> class. The type of the class returned depends on the
-     * field name; see {@link #parse(String)} for a table of field names and
-     * their corresponding classes.
-     * 
-     * @param rawField the raw field to parse.
-     * @param monitor a DecodeMonitor object used while parsing/decoding.
-     * @return a <code>ParsedField</code> instance.
-     * @throws MimeException if the raw string cannot be split into field name and body.
-     */
-    public static ParsedField parse(
-            final Field rawField, 
-            final DecodeMonitor monitor) throws MimeException {
-        return PARSER.parse(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
+        return PARSER.parse(rawField, monitor);
     }
 
     /**
@@ -112,7 +95,7 @@ public class DefaultFieldParser extends 
         RawField rawField = RawFieldParser.DEFAULT.parseField(raw);
         // Do not retain the original raw representation as the field
         // may require folding
-        return PARSER.parse(rawField.getName(), rawField.getBody(), null, monitor);
+        return PARSER.parse(rawField, monitor);
     }
 
     public static ParsedField parse(final String rawStr) throws MimeException {

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DelegatingFieldParser.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DelegatingFieldParser.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DelegatingFieldParser.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/DelegatingFieldParser.java Tue May 24 12:35:10 2011
@@ -25,8 +25,8 @@ import java.util.Map;
 import org.apache.james.mime4j.codec.DecodeMonitor;
 import org.apache.james.mime4j.dom.field.ParsedField;
 import org.apache.james.mime4j.dom.field.UnstructuredField;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
-import org.apache.james.mime4j.util.ByteSequence;
 
 public class DelegatingFieldParser implements FieldParser<ParsedField> {
     private static final FieldParser<UnstructuredField> DEFAULT_PARSER = UnstructuredFieldImpl.PARSER;
@@ -50,8 +50,8 @@ public class DelegatingFieldParser imple
         return field;
     }
     
-    public ParsedField parse(final String name, final String body, final ByteSequence raw, DecodeMonitor monitor) {
-        final FieldParser<? extends ParsedField> parser = getParser(name);
-        return parser.parse(name, body, raw, monitor);
+    public ParsedField parse(final Field rawField, final DecodeMonitor monitor) {
+        final FieldParser<? extends ParsedField> parser = getParser(rawField.getName());
+        return parser.parse(rawField, monitor);
     }
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/Fields.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/Fields.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/Fields.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/Fields.java Tue May 24 12:35:10 2011
@@ -617,8 +617,7 @@ public class Fields {
     private static <F extends ParsedField> F parse(FieldParser<F> parser,
             String fieldName, String fieldBody) {
         RawField rawField = new RawField(fieldName, fieldBody);
-        return parser.parse(rawField.getName(), rawField.getBody(), rawField.getRaw(), 
-                DecodeMonitor.SILENT);
+        return parser.parse(rawField, DecodeMonitor.SILENT);
     }
 
     private static String encodeAddresses(Iterable<? extends Address> addresses) {

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MailboxFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MailboxFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MailboxFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MailboxFieldImpl.java Tue May 24 12:35:10 2011
@@ -25,6 +25,7 @@ import org.apache.james.mime4j.dom.addre
 import org.apache.james.mime4j.dom.field.MailboxField;
 import org.apache.james.mime4j.field.address.AddressBuilder;
 import org.apache.james.mime4j.field.address.ParseException;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -78,9 +79,10 @@ public class MailboxFieldImpl extends Ab
     }
 
     public static final FieldParser<MailboxField> PARSER = new FieldParser<MailboxField>() {
-        public MailboxField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new MailboxFieldImpl(name, body, raw, monitor);
+        
+        public MailboxField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new MailboxFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MailboxListFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MailboxListFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MailboxListFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MailboxListFieldImpl.java Tue May 24 12:35:10 2011
@@ -24,6 +24,7 @@ import org.apache.james.mime4j.dom.addre
 import org.apache.james.mime4j.dom.field.MailboxListField;
 import org.apache.james.mime4j.field.address.AddressBuilder;
 import org.apache.james.mime4j.field.address.ParseException;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -74,9 +75,10 @@ public class MailboxListFieldImpl extend
     }
 
     public static final FieldParser<MailboxListField> PARSER = new FieldParser<MailboxListField>() {
-        public MailboxListField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new MailboxListFieldImpl(name, body, raw, monitor);
+        
+        public MailboxListField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new MailboxListFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MimeVersionFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MimeVersionFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MimeVersionFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/MimeVersionFieldImpl.java Tue May 24 12:35:10 2011
@@ -26,6 +26,7 @@ import org.apache.james.mime4j.codec.Dec
 import org.apache.james.mime4j.dom.field.MimeVersionField;
 import org.apache.james.mime4j.field.mimeversion.parser.MimeVersionParser;
 import org.apache.james.mime4j.field.mimeversion.parser.ParseException;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -90,10 +91,11 @@ public class MimeVersionFieldImpl extend
     }
 
     public static final FieldParser<MimeVersionField> PARSER = new FieldParser<MimeVersionField>() {
-        public MimeVersionField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new MimeVersionFieldImpl(name, body, raw, monitor);
+        
+        public MimeVersionField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new MimeVersionFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
     
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/UnstructuredFieldImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/UnstructuredFieldImpl.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/UnstructuredFieldImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/field/UnstructuredFieldImpl.java Tue May 24 12:35:10 2011
@@ -22,6 +22,7 @@ package org.apache.james.mime4j.field;
 import org.apache.james.mime4j.codec.DecodeMonitor;
 import org.apache.james.mime4j.codec.DecoderUtil;
 import org.apache.james.mime4j.dom.field.UnstructuredField;
+import org.apache.james.mime4j.stream.Field;
 import org.apache.james.mime4j.stream.FieldParser;
 import org.apache.james.mime4j.util.ByteSequence;
 
@@ -56,9 +57,11 @@ public class UnstructuredFieldImpl exten
     }
 
     public static final FieldParser<UnstructuredField> PARSER = new FieldParser<UnstructuredField>() {
-        public UnstructuredField parse(final String name, final String body,
-                final ByteSequence raw, DecodeMonitor monitor) {
-            return new UnstructuredFieldImpl(name, body, raw, monitor);
+        
+        public UnstructuredField parse(final Field rawField, final DecodeMonitor monitor) {
+            return new UnstructuredFieldImpl(rawField.getName(), rawField.getBody(), rawField.getRaw(), monitor);
         }
+        
     };
+
 }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/EntityBuilder.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/EntityBuilder.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/EntityBuilder.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/EntityBuilder.java Tue May 24 12:35:10 2011
@@ -114,7 +114,7 @@ class EntityBuilder implements ContentHa
         if (field instanceof ParsedField) {
             parsedField = (ParsedField) field;
         } else {
-            parsedField = fieldParser.parse(field.getName(), field.getBody(), field.getRaw(), monitor);
+            parsedField = fieldParser.parse(field, monitor);
         }
         ((Header) stack.peek()).addField(parsedField);
     }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MaximalBodyDescriptor.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MaximalBodyDescriptor.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MaximalBodyDescriptor.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MaximalBodyDescriptor.java Tue May 24 12:35:10 2011
@@ -99,7 +99,7 @@ public class MaximalBodyDescriptor exten
             contentMD5Field = (ContentMD5Field) field;
         } else {
             contentMD5Field = ContentMD5FieldImpl.PARSER.parse(
-                    field.getName(), field.getBody(), field.getRaw(), getDecodeMonitor());
+                    field, getDecodeMonitor());
         }
     }
 
@@ -108,7 +108,7 @@ public class MaximalBodyDescriptor exten
             contentLocationField = (ContentLocationField) field;
         } else {
             contentLocationField = ContentLocationFieldImpl.PARSER.parse(
-                    field.getName(), field.getBody(), field.getRaw(), getDecodeMonitor());
+                    field, getDecodeMonitor());
         }
     }
     
@@ -117,7 +117,7 @@ public class MaximalBodyDescriptor exten
             contentLanguageField = (ContentLanguageField) field;
         } else {
             contentLanguageField = ContentLanguageFieldImpl.PARSER.parse(
-                    field.getName(), field.getBody(), field.getRaw(), getDecodeMonitor());
+                    field, getDecodeMonitor());
         }
     }
 
@@ -126,7 +126,7 @@ public class MaximalBodyDescriptor exten
             contentDispositionField = (ContentDispositionField) field;
         } else {
             contentDispositionField = ContentDispositionFieldImpl.PARSER.parse(
-                    field.getName(), field.getBody(), field.getRaw(), getDecodeMonitor());
+                    field, getDecodeMonitor());
         }
     }
 
@@ -135,7 +135,7 @@ public class MaximalBodyDescriptor exten
             contentDescriptionField = (ContentDescriptionField) field;
         } else {
             contentDescriptionField = ContentDescriptionFieldImpl.PARSER.parse(
-                    field.getName(), field.getBody(), field.getRaw(), getDecodeMonitor());
+                    field, getDecodeMonitor());
         }
     }
 
@@ -144,7 +144,7 @@ public class MaximalBodyDescriptor exten
             contentIdField = (ContentIdField) field;
         } else {
             contentIdField = ContentIdFieldImpl.PARSER.parse(
-                    field.getName(), field.getBody(), field.getRaw(), getDecodeMonitor());
+                    field, getDecodeMonitor());
         }
     }
 
@@ -153,7 +153,7 @@ public class MaximalBodyDescriptor exten
             mimeVersionField = (MimeVersionField) field;
         } else {
             mimeVersionField = MimeVersionFieldImpl.PARSER.parse(
-                    field.getName(), field.getBody(), field.getRaw(), getDecodeMonitor());
+                    field, getDecodeMonitor());
         }
     }
     

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java Tue May 24 12:35:10 2011
@@ -219,8 +219,7 @@ public class MimeBuilder {
                 if (field instanceof ParsedField) {
                     parsedField = (ParsedField) field;
                 } else {
-                    parsedField = fieldParser.parse(
-                            field.getName(), field.getBody(), field.getRaw(), monitor);
+                    parsedField = fieldParser.parse(field, monitor);
                 }
                 header.addField(parsedField);
             }

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MinimalBodyDescriptor.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MinimalBodyDescriptor.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MinimalBodyDescriptor.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MinimalBodyDescriptor.java Tue May 24 12:35:10 2011
@@ -127,7 +127,7 @@ public class MinimalBodyDescriptor imple
             contentTransferEncodingField = (ContentTransferEncodingField) field;
         } else {
             contentTransferEncodingField = ContentTransferEncodingFieldImpl.PARSER.parse(
-                    field.getName(), field.getBody(), field.getRaw(), monitor);
+                    field, monitor);
         }
     }
 
@@ -136,7 +136,7 @@ public class MinimalBodyDescriptor imple
             contentLengthField = (ContentLengthField) field;
         } else {
             contentLengthField = ContentLengthFieldImpl.PARSER.parse(
-                    field.getName(), field.getBody(), field.getRaw(), monitor);
+                    field, monitor);
         }
     }
 
@@ -145,7 +145,7 @@ public class MinimalBodyDescriptor imple
             contentTypeField = (ContentTypeField) field;
         } else {
             contentTypeField = ContentTypeFieldImpl.PARSER.parse(
-                    field.getName(), field.getBody(), field.getRaw(), monitor);
+                    field, monitor);
         }
         String mimetype = contentTypeField.getMimeType();
         if (mimetype != null) {

Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/SimpleContentHandler.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/SimpleContentHandler.java?rev=1127006&r1=1127005&r2=1127006&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/SimpleContentHandler.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/SimpleContentHandler.java Tue May 24 12:35:10 2011
@@ -79,8 +79,7 @@ public abstract class SimpleContentHandl
         if (field instanceof ParsedField) {
             parsedField = (ParsedField) field;
         } else {
-            parsedField = fieldParser.parse(
-                    field.getName(), field.getBody(), field.getRaw(), monitor);
+            parsedField = fieldParser.parse(field, monitor);
         }
         currHeader.addField(parsedField);
     }