Author: rdonkin
Date: Fri Aug 10 09:50:18 2007
New Revision: 564673

URL: http://svn.apache.org/viewvc?view=rev&rev=564673
Log:
Store field name and value data. 
https://issues.apache.org/jira/browse/MIME4J-25. Contributed by Jochen Wiedmann.

Modified:
    
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeTokenStream.java

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?view=diff&rev=564673&r1=564672&r2=564673
==============================================================================
--- 
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 
Fri Aug 10 09:50:18 2007
@@ -75,7 +75,7 @@
  * @version $Id: MimeStreamParser.java,v 1.8 2005/02/11 10:12:02 ntherning Exp 
$
  */
 public class MimeTokenStream {
-    private static final Log log = LogFactory.getLog(MimeStreamParser.class);
+    private static final Log log = LogFactory.getLog(MimeTokenStream.class);
 
     /**
      * This token indicates, that the MIME stream has been completely
@@ -194,7 +194,7 @@
         private int lineNumber, startLineNumber;
         private final int endState;
         
-        String field;
+        String field, fieldName, fieldValue;
 
         Entity(Cursor cursor, BodyDescriptor parent, int startState, int 
endState) {
             this.parent = parent;
@@ -342,7 +342,7 @@
                     boolean valid = false;
                     if (index != -1 && fieldChars.get(field.charAt(0))) {
                         valid = true;
-                        String fieldName = field.substring(0, index).trim();
+                        fieldName = field.substring(0, index).trim();
                         for (int i = 0; i < fieldName.length(); i++) {
                             if (!fieldChars.get(fieldName.charAt(i))) {
                                 valid = false;
@@ -350,7 +350,8 @@
                             }
                         }
                         if (valid) {
-                            body.addField(fieldName, field.substring(index + 
1));
+                            fieldValue = field.substring(index + 1);
+                            body.addField(fieldName, fieldValue);
                             startLineNumber = lineNumber;
                             pos += 2;
                             lineNumber++;
@@ -466,6 +467,36 @@
         switch (getState()) {
             case T_FIELD:
                 return ((Entity) currentStateMachine).field;
+            default:
+                throw new IllegalStateException("Expected state to be 
T_FIELD.");
+        }
+    }
+
+    /**
+     * This method is valid, if [EMAIL PROTECTED] #getState()} returns [EMAIL 
PROTECTED] #T_FIELD}.
+     * @return String with the fields name.
+     * @throws IllegalStateException [EMAIL PROTECTED] #getState()} returns 
another
+     *   value than [EMAIL PROTECTED] #T_FIELD}.
+     */
+    public String getFieldName() {
+        switch (getState()) {
+            case T_FIELD:
+                return ((Entity) currentStateMachine).fieldName;
+            default:
+                throw new IllegalStateException("Expected state to be 
T_FIELD.");
+        }
+    }
+
+    /**
+     * This method is valid, if [EMAIL PROTECTED] #getState()} returns [EMAIL 
PROTECTED] #T_FIELD}.
+     * @return String with the fields value.
+     * @throws IllegalStateException [EMAIL PROTECTED] #getState()} returns 
another
+     *   value than [EMAIL PROTECTED] #T_FIELD}.
+     */
+    public String getFieldValue() {
+        switch (getState()) {
+            case T_FIELD:
+                return ((Entity) currentStateMachine).fieldValue;
             default:
                 throw new IllegalStateException("Expected state to be 
T_FIELD.");
         }



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

Reply via email to