/* * Copyright 2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.idega.content.tree; import java.util.List; import java.io.Serializable; /** * Defines the requirements for an object that can be used as a tree node for * use in a {@link UITreeData} component. (inspired by javax.swing.tree.TreeNode). * * @author Sean Schofield * @version $Revision: 1.1 $ $Date: 2006/09/22 12:35:00 $ */ public interface TreeNode extends Serializable { public boolean isLeaf(); public void setLeaf(boolean leaf); public List getChildren(); /** * Gets the type of {@link TreeNode}. * @return The node type */ public String getType(); /** * Sets the type of {@link TreeNode}. * @param type The node type */ public void setType(String type); public String getDescription(); public void setDescription(String description); /** * Sets the identifier associated with the {@link TreeNode}. * @param identifier The identifier */ public void setIdentifier(String identifier); /** * Gets the identifier asociated with the {@link TreeNode}. * @return the identifier */ public String getIdentifier(); /** * Gets the number of children this node has. * @return the number of children */ public int getChildCount(); /* public TreeNode getParentNode(); public void setParentNode(TreeNode parent); */ }