NETTY-423 Add ChannelPipeline.getNames()

This commit is contained in:
Trustin Lee 2011-08-02 08:43:10 +09:00
parent 4321135452
commit 8f30a11c67
3 changed files with 35 additions and 0 deletions

View File

@ -17,6 +17,7 @@ package org.jboss.netty.channel;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;
@ -488,6 +489,11 @@ public interface ChannelPipeline {
*/
boolean isAttached();
/**
* Returns the {@link List} of the handler names.
*/
List<String> getNames();
/**
* Converts this pipeline into an ordered {@link Map} whose keys are
* handler names and whose values are handlers.

View File

@ -15,8 +15,10 @@
*/
package org.jboss.netty.channel;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;
@ -487,6 +489,23 @@ public class DefaultChannelPipeline implements ChannelPipeline {
return null;
}
public List<String> getNames() {
List<String> list = new ArrayList<String>();
if (name2ctx.isEmpty()) {
return list;
}
DefaultChannelHandlerContext ctx = head;
for (;;) {
list.add(ctx.getName());
ctx = ctx.next;
if (ctx == null) {
break;
}
}
return list;
}
public Map<String, ChannelHandler> toMap() {
Map<String, ChannelHandler> map = new LinkedHashMap<String, ChannelHandler>();
if (name2ctx.isEmpty()) {

View File

@ -15,8 +15,10 @@
*/
package org.jboss.netty.channel;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.jboss.netty.logging.InternalLogger;
@ -317,6 +319,14 @@ public class StaticChannelPipeline implements ChannelPipeline {
return null;
}
public List<String> getNames() {
List<String> list = new ArrayList<String>();
for (StaticChannelHandlerContext ctx: contexts) {
list.add(ctx.getName());
}
return list;
}
public Map<String, ChannelHandler> toMap() {
Map<String, ChannelHandler> map = new LinkedHashMap<String, ChannelHandler>();
for (StaticChannelHandlerContext ctx: contexts) {