/******************************************************************************* * Copyright (c) 2010 Eric Bodden. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Eric Bodden - initial API and implementation ******************************************************************************/ /** * */ package de.bodden.tamiflex.views; import java.util.HashMap; import java.util.Map; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.PlatformUI; public class CategoryNode extends TreeParent { Map<String,TreeObject> children = new HashMap<String, TreeObject>(); public CategoryNode(String name) { super(name,TreeObject.Kind.CATEGORY); } @Override public void addChild(TreeObject child) { if(children.containsKey(child.getName())) { throw new RuntimeException("node with name '"+child.getName()+"' exists already!"); } else { children.put(child.getName(), child); child.setParent(this); } } @Override public TreeObject[] getChildren() { return children.values().toArray(new TreeObject[0]); } public TreeObject childFor(String name) { return children.get(name); } @Override public boolean hasChildren() { return !children.isEmpty(); } @Override public Image getImage() { return PlatformUI.getWorkbench().getSharedImages().getImage(org.eclipse.ui.ISharedImages.IMG_OBJ_FOLDER); } @Override public void handleDoubleClick() { } }