Author: rdonkin
Date: Sat Jun 21 01:43:37 2008
New Revision: 670163

URL: http://svn.apache.org/viewvc?rev=670163&view=rev
Log:
Factor out mutable interface. Interface exposed to reader is now read only.

Added:
    
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MutableBodyDescriptor.java
Modified:
    james/mime4j/trunk/src/main/java/org/apache/james/mime4j/BodyDescriptor.java
    
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/DefaultBodyDescriptor.java
    
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeTokenStream.java
    
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/BodyDescriptorTest.java

Modified: 
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/BodyDescriptor.java
URL: 
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/BodyDescriptor.java?rev=670163&r1=670162&r2=670163&view=diff
==============================================================================
--- 
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/BodyDescriptor.java 
(original)
+++ 
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/BodyDescriptor.java 
Sat Jun 21 01:43:37 2008
@@ -34,11 +34,4 @@
      */
     String getBoundary();
 
-    /**
-     * Adds a field to the body descriptor.
-     * @param pFieldName The fields name.
-     * @param pFieldValue The unparsed fields value.
-     */
-    void addField(String pFieldName, String pFieldValue);
-
 }

Modified: 
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/DefaultBodyDescriptor.java
URL: 
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/DefaultBodyDescriptor.java?rev=670163&r1=670162&r2=670163&view=diff
==============================================================================
--- 
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/DefaultBodyDescriptor.java
 (original)
+++ 
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/DefaultBodyDescriptor.java
 Sat Jun 21 01:43:37 2008
@@ -32,7 +32,7 @@
  * 
  * @version $Id: BodyDescriptor.java,v 1.4 2005/02/11 10:08:37 ntherning Exp $
  */
-public class DefaultBodyDescriptor implements BodyDescriptor {
+public class DefaultBodyDescriptor implements MutableBodyDescriptor {
     private static final String SUB_TYPE_EMAIL = "rfc822";
 
     private static final String MEDIA_TYPE_TEXT = "text";

Modified: 
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeTokenStream.java
URL: 
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeTokenStream.java?rev=670163&r1=670162&r2=670163&view=diff
==============================================================================
--- 
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeTokenStream.java 
(original)
+++ 
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeTokenStream.java 
Sat Jun 21 01:43:37 2008
@@ -337,7 +337,7 @@
         private final BodyDescriptor parent;
         private final Cursor cursor;
         private final StringBuffer sb = new StringBuffer();
-        private BodyDescriptor body;
+        private MutableBodyDescriptor body;
         private int pos, start;
         private int lineNumber, startLineNumber;
         private final int endState;
@@ -886,8 +886,8 @@
      * this in order to create body descriptors, that provide more specific
      * information.
      */
-    protected BodyDescriptor newBodyDescriptor(BodyDescriptor pParent) {
-        final BodyDescriptor result;
+    protected MutableBodyDescriptor newBodyDescriptor(BodyDescriptor pParent) {
+        final MutableBodyDescriptor result;
         if (maximalBodyDescriptor) {
             result = new MaximalBodyDescriptor(pParent);
         } else {

Added: 
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MutableBodyDescriptor.java
URL: 
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MutableBodyDescriptor.java?rev=670163&view=auto
==============================================================================
--- 
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MutableBodyDescriptor.java
 (added)
+++ 
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MutableBodyDescriptor.java
 Sat Jun 21 01:43:37 2008
@@ -0,0 +1,35 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+
+package org.apache.james.mime4j;
+
+/**
+ * Adds mutator.
+ */
+public interface MutableBodyDescriptor extends BodyDescriptor {
+
+    /**
+     * Adds a field to the body descriptor.
+     * @param pFieldName The fields name.
+     * @param pFieldValue The unparsed fields value.
+     */
+    void addField(String pFieldName, String pFieldValue);
+
+}

Modified: 
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/BodyDescriptorTest.java
URL: 
http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/BodyDescriptorTest.java?rev=670163&r1=670162&r2=670163&view=diff
==============================================================================
--- 
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/BodyDescriptorTest.java
 (original)
+++ 
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/BodyDescriptorTest.java
 Sat Jun 21 01:43:37 2008
@@ -26,16 +26,16 @@
  */
 public class BodyDescriptorTest extends TestCase {
 
-    protected BodyDescriptor newBodyDescriptor() {
+    protected MutableBodyDescriptor newBodyDescriptor() {
         return new DefaultBodyDescriptor();
     }
 
-    protected BodyDescriptor newBodyDescriptor(BodyDescriptor parent) {
+    protected MutableBodyDescriptor newBodyDescriptor(BodyDescriptor parent) {
         return new DefaultBodyDescriptor(parent);
     }
     
     public void testGetParameters() {
-        BodyDescriptor bd = null;
+        MutableBodyDescriptor bd = null;
         
         bd = newBodyDescriptor();
         bd.addField("Content-Type ", "text/plain; charset=ISO-8859-1; "
@@ -72,7 +72,7 @@
     }
     
     public void testAddField() {
-        BodyDescriptor bd = null;
+        MutableBodyDescriptor bd = null;
         
         /*
          * Make sure that only the first Content-Type header added is used.
@@ -87,7 +87,7 @@
     }
     
     public void testGetMimeType() {
-        BodyDescriptor bd = null;
+        MutableBodyDescriptor bd = null;
         
         bd = newBodyDescriptor();
         bd.addField("Content-Type ", "text/PLAIN");
@@ -121,8 +121,8 @@
         /*
          * Implicit mime types.
          */
-        BodyDescriptor child = null;
-        BodyDescriptor parent = null;
+        MutableBodyDescriptor child = null;
+        MutableBodyDescriptor parent = null;
         
         parent = newBodyDescriptor();
         parent.addField("Content-Type", "mutlipart/alternative; boundary=foo");
@@ -143,7 +143,7 @@
     }
     
     public void testParameters() {
-        BodyDescriptor bd = null;
+        MutableBodyDescriptor bd = null;
 
         /*
          * Test charset.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to