/** * @see IoFilterChain#contains(Class) */ public boolean contains(Class<? extends IoFilter> filterType) { for (Iterator i = entries.iterator(); i.hasNext();) { Entry e = (Entry) i.next(); if (filterType.isAssignableFrom(e.getFilter().getClass())) { return true; } } return false; }
private String getThreadPoolFilterEntryName(List<Entry> entries) { Iterator<Entry> i = entries.iterator(); while (i.hasNext()) { IoFilterChain.Entry entry = i.next(); if (entry.getFilter().getClass().isAssignableFrom( ExecutorFilter.class)) { return entry.getName(); } } throw new IllegalStateException( "Chain does not contain a ExecutorFilter"); }
/** * @see IoFilterChain#contains(IoFilter) */ public boolean contains(IoFilter filter) { for (Iterator i = entries.iterator(); i.hasNext();) { Entry e = (Entry) i.next(); if (e.getFilter() == filter) { return true; } } return false; }
public String toString() { StringBuffer buf = new StringBuffer(); buf.append("{ "); boolean empty = true; for (Iterator i = entries.iterator(); i.hasNext();) { Entry e = (Entry) i.next(); if (!empty) { buf.append(", "); } else { empty = false; } buf.append('('); buf.append(e.getName()); buf.append(':'); buf.append(e.getFilter()); buf.append(')'); } if (empty) { buf.append("empty"); } buf.append(" }"); return buf.toString(); }
/** * @see IoFilterChain#remove(String) */ public synchronized IoFilter remove(String name) { if (name == null) { throw new NullPointerException("name"); } for (ListIterator<Entry> i = entries.listIterator(); i.hasNext();) { Entry e = i.next(); if (e.getName().equals(name)) { entries.remove(i.previousIndex()); return e.getFilter(); } } throw new IllegalArgumentException("Unknown filter name: " + name); }
public Object clone() { DefaultIoFilterChainBuilder ret = new DefaultIoFilterChainBuilder(); for (Entry e : entries) { ret.addLast(e.getName(), e.getFilter()); } return ret; }
private void callNextExceptionCaught(Entry entry, IoSession session, Throwable cause) { try { entry.getFilter().exceptionCaught(entry.getNextFilter(), session, cause); } catch (Throwable e) { SessionLog.warn(session, "Unexpected exception from exceptionCaught handler.", e); } }
private void callNextSessionIdle(Entry entry, IoSession session, IdleStatus status) { try { entry.getFilter().sessionIdle(entry.getNextFilter(), session, status); } catch (Throwable e) { fireExceptionCaught(session, e); } }
/** * @see IoFilterChain#get(String) */ public IoFilter get(String name) { Entry e = getEntry(name); if (e == null) { return null; } return e.getFilter(); }
private void callNextMessageSent(Entry entry, IoSession session, Object message) { try { entry.getFilter().messageSent(entry.getNextFilter(), session, message); } catch (Throwable e) { fireExceptionCaught(session, e); } }
private void callNextSessionCreated(Entry entry, IoSession session) { try { entry.getFilter().sessionCreated(entry.getNextFilter(), session); } catch (Throwable e) { fireExceptionCaught(session, e); } }
public void buildFilterChain(IoFilterChain chain) throws Exception { for (Iterator i = entries.iterator(); i.hasNext();) { Entry e = (Entry) i.next(); chain.addLast(e.getName(), e.getFilter()); } }
private void callPreviousFilterClose(Entry entry, IoSession session) { try { entry.getFilter().filterClose(entry.getNextFilter(), session); } catch (Throwable e) { fireExceptionCaught(session, e); } }
private void callNextSessionOpened(Entry entry, IoSession session) { try { entry.getFilter().sessionOpened(entry.getNextFilter(), session); } catch (Throwable e) { fireExceptionCaught(session, e); } }
public IoFilter get(String name) { Entry e = getEntry(name); if (e == null) { return null; } return e.getFilter(); }
private void callNextMessageReceived(Entry entry, IoSession session, Object message) { try { entry.getFilter().messageReceived(entry.getNextFilter(), session, message); } catch (Throwable e) { fireExceptionCaught(session, e); } }
private void callPreviousFilterWrite(Entry entry, IoSession session, WriteRequest writeRequest) { try { entry.getFilter().filterWrite(entry.getNextFilter(), session, writeRequest); } catch (Throwable e) { writeRequest.getFuture().setWritten(false); fireExceptionCaught(session, e); } }
private void callNextSessionClosed(Entry entry, IoSession session) { try { entry.getFilter().sessionClosed(entry.getNextFilter(), session); } catch (Throwable e) { fireExceptionCaught(session, e); } }