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-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org