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: [email protected]
For additional commands, e-mail: [email protected]