public String toString() { StringBuffer buf = new StringBuffer(); buf.append("{ "); boolean empty = true; EntryImpl e = head.nextEntry; while (e != tail) { if (!empty) { buf.append(", "); } else { empty = false; } buf.append('('); buf.append(e.getName()); buf.append(':'); buf.append(e.getFilter()); buf.append(')'); e = e.nextEntry; } if (empty) { buf.append("empty"); } buf.append(" }"); return buf.toString(); }
private void register(EntryImpl prevEntry, String name, IoFilter filter) { EntryImpl newEntry = new EntryImpl(prevEntry, prevEntry.nextEntry, name, filter); try { filter.onPreAdd(this, name, newEntry.getNextFilter()); } catch (Exception e) { throw new IoFilterLifeCycleException("onPreAdd(): " + name + ':' + filter + " in " + getSession(), e); } prevEntry.nextEntry.prevEntry = newEntry; prevEntry.nextEntry = newEntry; name2entry.put(name, newEntry); try { filter.onPostAdd(this, name, newEntry.getNextFilter()); } catch (Exception e) { deregister0(newEntry); throw new IoFilterLifeCycleException("onPostAdd(): " + name + ':' + filter + " in " + getSession(), e); } }
private void deregister(EntryImpl entry) { IoFilter filter = entry.getFilter(); try { filter.onPreRemove(this, entry.getName(), entry.getNextFilter()); } catch (Exception e) { throw new IoFilterLifeCycleException("onPreRemove(): " + entry.getName() + ':' + filter + " in " + getSession(), e); } deregister0(entry); try { filter.onPostRemove(this, entry.getName(), entry.getNextFilter()); } catch (Exception e) { throw new IoFilterLifeCycleException("onPostRemove(): " + entry.getName() + ':' + filter + " in " + getSession(), e); } }
public String toString() { return "(" + getName() + ':' + filter + ')'; } }
public boolean contains(IoFilter filter) { EntryImpl e = head.nextEntry; while (e != tail) { if (e.getFilter() == filter) { return true; } e = e.nextEntry; } return false; }
public synchronized IoFilter remove(String name) { EntryImpl entry = checkOldName(name); deregister(entry); return entry.getFilter(); }
public boolean contains(Class<? extends IoFilter> filterType) { EntryImpl e = head.nextEntry; while (e != tail) { if (filterType.isAssignableFrom(e.getFilter().getClass())) { return true; } e = e.nextEntry; } return false; }