📄 datafactory.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 + -