📄 overridenviewmanager.java
字号:
package xyz.frame.view;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.log4j.Logger;import xyz.frame.LogicRequest;/** * Overriden view manager checks if the view was overriden and returns it. * Otherwise it returns the default view that its internal view manager would * return. * * @author Guilherme Silveira */public class OverridenViewManager implements ViewManager { private static final Logger logger = Logger .getLogger(OverridenViewManager.class); private final Map<String, String> views = new HashMap<String, String>(); private final ViewManager internalManager; /** * Creates the overriden view manager with a default view manager * * @param viewManager * the default view manager */ public OverridenViewManager(ViewManager viewManager) { super(); this.internalManager = viewManager; } /** * Register a new view * * @param key * key * @param value * value */ public void overrideView(String key, String value) { logger.info(String.format("Overriding view %s --> %s", key, value)); this.views.put(key, value); } /* * (non-Javadoc) * * @see xyz.frame.view.ViewManager#forward(xyz.frame.LogicRequest, * java.lang.String, javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse) */ public void forward(LogicRequest logicRequest, String result, HttpServletRequest request, HttpServletResponse response) throws ViewException { // if it is overriden, overrides the forward String key = logicRequest.getComponentName() + "." + logicRequest.getLogicName() + "." + result; if (this.views.containsKey(key)) { logger.debug("overriden view found " + key); String forward = this.views.get(key); internalManager.directForward(logicRequest, result, request, response, forward); } else { internalManager.forward(logicRequest, result, request, response); } } public void directForward(LogicRequest logicRequest, String result, HttpServletRequest request, HttpServletResponse response, String forwardUrl) throws ViewException { internalManager.directForward(logicRequest, result, request, response, forwardUrl); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -