⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treenodebean.java

📁 GridSphere 门户 提供一个基于 portlet 的高级开放源代码门户。GridSphere 是在欧盟提供基金的 GridLab 项目下开发的
💻 JAVA
字号:
package org.gridsphere.provider.portletui.beans;import org.gridsphere.portlet.impl.PortletURLImpl;import org.gridsphere.portlet.impl.SportletProperties;import javax.portlet.PortletURL;import java.util.*;/** @author <a href="mailto:wehrens@gridsphere.org">Oliver Wehrens</a>* @version $Id$*/public class TreeNodeBean extends ActionBean implements TagBean {    // label to be displayed    private String label = "";    // action to be executed    private String action = null;    // parameters the action might have    private Map<String, String> parameters = new HashMap<String, String>();    private PortletURL portletURL = null;    private boolean closed = true;    private String uniquePrefix = null;    // other nodes (childs) it might have    private List<TreeNodeBean> nodes = new ArrayList<TreeNodeBean>();    public String getUniquePrefix() {        return uniquePrefix;    }    public void setUniquePrefix(String uniquePrefix) {        this.uniquePrefix = uniquePrefix;    }    public boolean isClosed() {        return closed;    }    public void setClosed(boolean closed) {        this.closed = closed;    }    public boolean hasChildren() {        return !nodes.isEmpty();    }    public void addNode(TreeNodeBean n) {        nodes.add(n);    }    public PortletURL getPortletURL() {        return portletURL;    }    public void setPortletURL(PortletURL portletURL) {        this.portletURL = portletURL;    }    public List getNodes() {        return nodes;    }    public void setNodes(List nodes) {        this.nodes = nodes;    }    public String getAction() {        return action;    }    public void setAction(String action) {        this.action = action;    }    public void setParameter(String key, String value) {        parameters.put(key, value);    }    public Map getParameters() {        return parameters;    }    public void setParameters(Map parameters) {        this.parameters = parameters;    }    public String getLabel() {        return label;    }    public void setLabel(String label) {        this.label = label;    }    public String toStartString() {        StringBuffer buffer = new StringBuffer();        Map newParams = new HashMap();        if (!parameters.isEmpty()) {            // add params            Set keys = parameters.keySet();            // prefix params            for (Object paramKey : keys) {                String value = parameters.get(paramKey);                newParams.put(uniquePrefix + "_" + paramKey, new String[]{value});            }        }        portletURL.setParameters(newParams);        portletURL.setParameter(SportletProperties.PREFIX, uniquePrefix);        ((PortletURLImpl) portletURL).setAction(action);        buffer.append("<li");        if (closed) buffer.append(" class=\"closed\" ");        buffer.append("><a href=\"").append(portletURL.toString()).append("\">").append(label).append("</a>");        // check if has children        if (hasChildren()) {            buffer.append("<ul>");            for (int i = 0; i < nodes.size(); i++) {                TreeNodeBean n = nodes.get(i);                if (n.getAction() == null) n.setAction(action);                n.setPortletURL(portletURL);                n.setUniquePrefix(uniquePrefix);                buffer.append(n.toStartString());            }            buffer.append("</ul>");        }        buffer.append("</li>");        return buffer.toString();    }    public String toEndString() {        return "";    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -