You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2011/12/23 21:48:08 UTC

svn commit: r1222836 - /james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/MultiLineHandler.java

Author: norman
Date: Fri Dec 23 20:48:07 2011
New Revision: 1222836

URL: http://svn.apache.org/viewvc?rev=1222836&view=rev
Log:
Allow easy handling of multiple lines. See PROTOCOLS-72

Modified:
    james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/MultiLineHandler.java

Modified: james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/MultiLineHandler.java
URL: http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/MultiLineHandler.java?rev=1222836&r1=1222835&r2=1222836&view=diff
==============================================================================
--- james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/MultiLineHandler.java (original)
+++ james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/MultiLineHandler.java Fri Dec 23 20:48:07 2011
@@ -1,5 +1,6 @@
 package org.apache.james.protocols.api.handler;
 
+import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
@@ -24,15 +25,15 @@ public abstract class MultiLineHandler<S
      * @see org.apache.james.protocols.api.handler.LineHandler#onLine(org.apache.james.protocols.api.ProtocolSession, byte[])
      */
     @SuppressWarnings("unchecked")
-    public Response onLine(S session, byte[] line) {
-        Collection<byte[]> lines = (List<byte[]>) session.getAttachment(BUFFERED_LINES, State.Transaction);
+    public Response onLine(S session, ByteBuffer line) {
+        Collection<ByteBuffer> lines = (List<ByteBuffer>) session.getAttachment(BUFFERED_LINES, State.Transaction);
         if (lines == null)  {
-            lines = new ArrayList<byte[]>();
+            lines = new ArrayList<ByteBuffer>();
             session.setAttachment(BUFFERED_LINES, lines, State.Transaction);
         }
         lines.add(line);
         if (isReady(session, line)) {
-            return onLines(session, (Collection<byte[]>) session.setAttachment(BUFFERED_LINES, null, State.Transaction));
+            return onLines(session, (Collection<ByteBuffer>) session.setAttachment(BUFFERED_LINES, null, State.Transaction));
         }
         return null;
     }
@@ -44,7 +45,7 @@ public abstract class MultiLineHandler<S
      * @param line
      * @return ready
      */
-    protected abstract boolean isReady(S session, byte[] line);
+    protected abstract boolean isReady(S session, ByteBuffer line);
     
     /**
      * Handle the buffered lines
@@ -53,5 +54,5 @@ public abstract class MultiLineHandler<S
      * @param lines
      * @return response
      */
-    protected abstract Response onLines(S session, Collection<byte[]> lines);
+    protected abstract Response onLines(S session, Collection<ByteBuffer> lines);
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org