📄 abstractmenudisplayer.java
字号:
/* * AbstractMenuDisplayer.java * * Created on March 30, 2002, 3:34 PM */package net.sf.navigator.displayer;import java.io.IOException;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.PageContext;import net.sf.navigator.menu.MenuComponent;import net.sf.navigator.menu.PermissionsAdapter;import org.apache.struts.util.MessageResources;/** * Abstract implementation of <code>MenuDisplayer</code> that can be used as * a basis for other menu displayers. * * @author ssayles * @version */public abstract class AbstractMenuDisplayer implements MenuDisplayer { //~ Instance fields ======================================================== protected String name; protected MessageResources displayStrings; protected JspWriter out; protected String target; /** Holds value of property permissionsAdapter. */ protected PermissionsAdapter permissionsAdapter; protected MenuDisplayerMapping mapping; //~ Methods ================================================================ public String getName() { return name; } public void setName(String name) { this.name = name; } public String getConfig() { String config = null; if (displayStrings != null) { config = displayStrings.getConfig(); } return config; } public void setConfig(String config) { displayStrings = MessageResources.getMessageResources(config); } public void setConfig(MessageResources displayStrings) { this.displayStrings = displayStrings; } public String getTarget() { return target; } /** * Convenience method that will first return the target for the displayer * if it is not null. If the displayer target is null, then it will * return <code>menu.getTarget()</code>. * * @return the target for the menu link. */ protected String getTarget(MenuComponent menu) { String theTarget = null; if (target == null) { if (menu.getTarget() != null) { theTarget = menu.getTarget(); } } else { theTarget = target; } return theTarget; } public void setTarget(String target) { this.target = target; } /** * Getter for property permissionsAdapter. * @return Value of property permissionsAdapter. */ public PermissionsAdapter getPermissionsAdapter() { return this.permissionsAdapter; } /** * Setter for property permissionsAdapter. * @param permissionsAdapter New value of property permissionsAdapter. */ public void setPermissionsAdapter(PermissionsAdapter permissionsAdapter) { this.permissionsAdapter = permissionsAdapter; } /** * Lifecycle method that should be called when the <code>MenuDisplayer</code> * is being prepared for use. * * @param pageContext The JSP pageContext to give the displayer access * to any resources it may need. * @param mapping The menu displayer mapping used to embody the xml * definition. */ public void init(PageContext pageContext, MenuDisplayerMapping mapping) { this.out = pageContext.getOut(); this.mapping = mapping; } public abstract void display(MenuComponent menu) throws JspException, IOException; public void end(PageContext pageContext) {} /** * Returns <code>true</code> if the specified component is usable. * If <code>permissionsAdapter</code> is not defined, this method will * return <code>true</code>. Otherwise, the adapter will be used to check * permissions on the menu. * * @return <code>true</code> if the menu component is usable. * @param menu The menu component. */ public boolean isAllowed(MenuComponent menu) { if (permissionsAdapter == null) { return true; } else { return permissionsAdapter.isAllowed(menu); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -