You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/11/14 12:00:44 UTC
svn commit: r594834 -
/mina/trunk/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java
Author: trustin
Date: Wed Nov 14 03:00:43 2007
New Revision: 594834
URL: http://svn.apache.org/viewvc?rev=594834&view=rev
Log:
Added DefaultIoFilterChainBuilder.setFilters
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java?rev=594834&r1=594833&r2=594834&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/DefaultIoFilterChainBuilder.java Wed Nov 14 03:00:43 2007
@@ -21,8 +21,10 @@
import java.util.ArrayList;
import java.util.Collections;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.ListIterator;
+import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList;
import org.apache.mina.common.IoFilter.NextFilter;
@@ -309,8 +311,35 @@
/**
* @see IoFilterChain#clear()
*/
- public synchronized void clear() throws Exception {
+ public synchronized void clear() {
entries.clear();
+ }
+
+ /**
+ * Clears the current list of filters and adds the specified
+ * filter mapping to this builder. Please make sure to use a {@link Map}
+ * implementation that iterated the filter mapping in the order of addition
+ * such as {@link LinkedHashMap}.
+ */
+ public synchronized void setFilters(Map<String, ? extends IoFilter> filters) {
+ if (filters == null) {
+ throw new NullPointerException("filters");
+ }
+ filters = new LinkedHashMap<String, IoFilter>(filters);
+ for (Map.Entry<String, ? extends IoFilter> e: filters.entrySet()) {
+ if (e.getKey() == null) {
+ throw new NullPointerException("filters contains a null key.");
+ }
+ if (e.getValue() == null) {
+ throw new NullPointerException("filters contains a null value.");
+ }
+ }
+
+ clear();
+
+ for (Map.Entry<String, ? extends IoFilter> e: filters.entrySet()) {
+ addLast(e.getKey(), e.getValue());
+ }
}
public void buildFilterChain(IoFilterChain chain) throws Exception {