handlerorderer.java
来自「Xfire文件 用于开发web service 的一个开源工具 很好用的」· Java 代码 · 共 59 行
JAVA
59 行
package org.codehaus.xfire.handler;import java.util.ArrayList;import java.util.Collection;public class HandlerOrderer{ private ArrayList handlers = new ArrayList(); public void insertHandler(Handler handler) { if (handlers.size() == 0) { handlers.add(handler); return; } int begin = -1; int end = handlers.size(); Collection before = handler.getBefore(); Collection after = handler.getAfter(); for (int i = 0; i < handlers.size(); i++) { Handler cmp = (Handler) handlers.get(i); if (before.contains(cmp.getClass().getName())) { if (i < end) end = i; } if (cmp.getBefore().contains(handler.getClass().getName())) { if (i > begin) begin = i; } if (after.contains(cmp.getClass().getName())) { if (i > begin) begin = i; } if (cmp.getAfter().contains(handler.getClass().getName())) { if (i < end) end = i; } } if (end < begin+1) throw new IllegalStateException("Invalid ordering for handler " + handler.getClass().getName()); handlers.add(begin+1, handler); } public ArrayList getHandlers() { return handlers; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?