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

📄 datafactory.java

📁 TTreeview 的 Java实例 Eclipes环境下
💻 JAVA
字号:
package demo.pluginA.treeview.data;

import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
import org.eclipse.jface.dialogs.MessageDialog;
import demo.pluginA.treeview.xmlutils.*;
import demo.pluginA.treeview.data.*;

//DataFactory provides the data for the tree
//The class is for demonstrate purpose, will be re-implemented by using XML I/O method 
public class DataFactory implements IDataFactory {
	private Long id;

	public Object createTreeData(Boolean isNew, String path) {
		List<ITreeEntry> list=null;
		// if it is not a new file
		if (isNew == false) {
			XMLRead readXml = new XMLRead(path);
			try {
				readXml.DocToList();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			if (readXml.isValid() == false)
				MessageDialog.openInformation(null, "Error Message",
						"Read error");
			else {
				list = readXml.getList();
				id = 0l;
				generateID(list);
			}
		}
		// if it is a new file
		else {
			list = new ArrayList();
			ProcessEntity p = new ProcessEntity("software process", "");
			list.add(p);
			id = 0l;
			generateID(list);
		}
		return list;
	}

	// Generate a unique ID for each entity
	private void generateID(List list) {
		if (list == null)
			return;
		for (Iterator it = list.iterator(); it.hasNext();) {
			ITreeEntry o = (ITreeEntry) it.next();
			o.setId(id);
			id++;
			generateID(o.getChildren());
		}
	}

}

⌨️ 快捷键说明

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