package com.polydes.common.nodes;

import java.util.List;

public abstract class DefaultNodeCreator<T extends Leaf<T,U>, U extends Branch<T,U>> implements NodeCreator<T,U>
{
	@Override
	public void editNode(T toEdit)
	{
	}
	
	@Override
	public boolean attemptRemove(List<T> toRemove)
	{
		return true;
	}
	
	//TODO: Do we need complete uniqueness of item names?
	/*
	@Override
	public boolean canCreate(String name, Folder folder)
	{
		return
			(folder.getItemByName(name) == null) &&
			(uniqueItemNames ? !itemNames.contains(name) : true);
	}
	*/
}
@@ -28,16 +28,44 @@
 nodes;%0A%0A
+import java.util.ArrayList;%0A
 import j
@@ -218,116 +218,481 @@
 lic 
-void editNode(T toEdit)%0A%09%7B%0A%09%7D%0A%09%0A%09@Override%0A%09public boolean attemptRemove(List%3CT%3E toRemove)%0A%09%7B%0A%09%09return true;
+T createNode(CreatableNodeInfo selected, String nodeName)%0A%09%7B%0A%09%09return null;%0A%09%7D%0A%09%0A%09@Override%0A%09public void editNode(T toEdit)%0A%09%7B%0A%09%7D%0A%09%0A%09@Override%0A%09public ArrayList%3CCreatableNodeInfo%3E getCreatableNodeList(U creationBranch)%0A%09%7B%0A%09%09return null;%0A%09%7D%0A%09%0A%09@Override%0A%09public ArrayList%3CNodeAction%3CT%3E%3E getNodeActions(T%5B%5D targets)%0A%09%7B%0A%09%09return null;%0A%09%7D%0A%09%0A%09@Override%0A%09public boolean attemptRemove(List%3CT%3E toRemove)%0A%09%7B%0A%09%09return false;%0A%09%7D%0A%09%0A%09@Override%0A%09public void nodeRemoved(T toRemove)%0A%09%7B%0A%09%09
 %0A%09%7D%0A

Update DefaultNodeCreator.