All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.tinygroup.tinyscript.tree.DataNode Maven / Gradle / Ivy

The newest version!
package org.tinygroup.tinyscript.tree;

import java.util.List;

/**
 * 数据节点
 * @author yancheng11334
 *
 */
public interface DataNode {

	/**
	 * 获取父亲节点
	 * @return
	 */
	DataNode getParent();
	
	/**
	 * 设置父亲节点
	 * @param parent
	 */
	void setParent(DataNode parent);
	
	/**
	 * 获取节点值
	 * @return
	 */
	Object getValue();
	
	/**
	 * 设置节点值
	 * @param value
	 */
	void setValue(Object value);
	
	/**
	 * 获取原始类型
	 * @return
	 */
	 T getSource();
	
	/**
	 * 获取节点名
	 * @return
	 */
	String getName();
	
	/**
	 * 是否叶子节点
	 * @return
	 */
	boolean isLeaf();
	
	/**
	 * 是否根节点
	 * @return
	 */
	boolean isRoot();
	
	/**
	 * 获取儿子节点列表
	 * @return
	 */
	List  getChildren();
	
	/**
	 * 获取某个儿子节点
	 * @param i
	 * @return
	 */
	DataNode  getChild(int i);
	
	/**
	 * 获取某个儿子节点
	 * @param name
	 * @return
	 */
	DataNode  getChild(String name);
	
	/**
	 * 查询某个节点
	 * @param name
	 * @return
	 */
	DataNode  findNode(String name);
	
	/**
	 * 添加某个子节点
	 * @param node
	 */
	DataNode addNode(DataNode node);
	
	/**
	 * 添加某个子节点
	 * @param name
	 * @param value
	 * @return
	 */
	DataNode addNode(String name,Object value);
	
	/**
	 * 删除某个子节点
	 * @param node
	 */
	DataNode removeNode(DataNode node);
	
	/**
	 * 删除某个子节点
	 * @param name
	 */
	DataNode removeNode(String name);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy