1 19 package org.apache.mina.example.haiku; 20 21 import java.util.ArrayList ; 22 import java.util.List ; 23 24 import org.apache.mina.common.IoFilterAdapter; 25 import org.apache.mina.common.IoSession; 26 27 31 public class ToHaikuIoFilter extends IoFilterAdapter { 32 33 @SuppressWarnings ( { "unchecked" }) 34 @Override 35 public void messageReceived(NextFilter nextFilter, IoSession session, 36 Object message) throws Exception { 37 List <String > phrases = (List <String >) session.getAttribute("phrases"); 38 39 if (null == phrases) { 40 phrases = new ArrayList <String >(); 41 session.setAttribute("phrases", phrases); 42 } 43 44 phrases.add((String ) message); 45 46 if (phrases.size() == 3) { 47 session.removeAttribute("phrases"); 48 49 super.messageReceived(nextFilter, session, new Haiku(phrases 50 .toArray(new String [3]))); 51 } 52 } 53 } 54 | Popular Tags |