📄 handlerorderer.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -