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#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 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#addBefore(String, String, IoFilter) */ public synchronized void addBefore(String baseName, String name, IoFilter filter) { checkBaseName(baseName); for (ListIterator<Entry> i = entries.listIterator(); i.hasNext();) { Entry base = i.next(); if (base.getName().equals(baseName)) { register(i.previousIndex(), new EntryImpl(name, filter)); break; } } }
/** * @see IoFilterChain#addAfter(String, String, IoFilter) */ public synchronized void addAfter(String baseName, String name, IoFilter filter) { checkBaseName(baseName); for (ListIterator<Entry> i = entries.listIterator(); i.hasNext();) { Entry base = i.next(); if (base.getName().equals(baseName)) { register(i.nextIndex(), new EntryImpl(name, filter)); break; } } }
public Object clone() { DefaultIoFilterChainBuilder ret = new DefaultIoFilterChainBuilder(); for (Entry e : entries) { ret.addLast(e.getName(), e.getFilter()); } return ret; }
/** * @see IoFilterChain#getEntry(String) */ public Entry getEntry(String name) { for (Entry e: entries) { if (e.getName().equals(name)) { return e; } } return null; }
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()); } }