treecompositemenu.java

来自「一个购房管理系统,JSF+Hibernate+Mssql2」· Java 代码 · 共 84 行

JAVA
84
字号
package com.housesale.util;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;

public class TreeCompositeMenu extends AbstractMenu {

	private List list = new ArrayList();

	public TreeCompositeMenu(String menuId, String menuName, boolean isHasLeaf,
			String type) {
		super(menuId, menuName, isHasLeaf, type);
	}

	public TreeCompositeMenu(String menuId, String menuName, String url,
			boolean isHasLeaf, String type) {
		super(menuId, menuName, url, isHasLeaf, type);

	}

	public Collection listChildMenus() {
		return list;
	}

	public Menu getChild(String s) {
		return null;
	}

	public String addMenuItems() {
		StringBuffer sb = new StringBuffer();
		Iterator it = list.iterator();
		while (it.hasNext()) {
			
			AbstractMenu menu = (AbstractMenu) it.next();
			if (menu.getType().equals("url")) {
				sb.append("root_" + getLevelCoord() + ".addLink(");
				sb.append("\"" + menu.getUrl() + "\",");
				sb.append("\"" + menu.getMenuName() + "\"");
				sb.append(");");
			}

			sb.append("\n");
			sb.append(menu.addMenuItems());

		}
		return sb.toString();
	}

	public String newMenu() {

		StringBuffer sb = new StringBuffer();
		Iterator it = list.iterator();
		int i = 1;
		while (it.hasNext()) {
			AbstractMenu menu = (AbstractMenu) it.next();
			if (menu.getType().equals("sub")) {
				menu.setLevelCoord(getLevelCoord());
			}
			if (menu.getLevelCoord() != null) {
				sb.append(menu.newMenu());
			}
			i++;
		}
		return sb.toString();
	}

	public boolean add(Menu menu) throws NoSuchElementException {
		list.add(menu);
		return true;
	}

	public void remove() throws NoSuchElementException {

		list.clear();
		setLevelCoord("");
		setParent("");

	}

}

⌨️ 快捷键说明

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