package share.folder.tree;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Vector;
import share.folder.Folder;
import share.folder.tree.node.AbstractFolderTreeNode;
import share.folder.tree.node.FolderTreeNodeContainer;
public class FolderTree implements Serializable
{
private static final long serialVersionUID = -6968927090506583615L;
private FolderTreeNodeContainer roots;
public FolderTree()
{
roots = new FolderTreeNodeContainer();
}
public void add(Folder folder, boolean subfolders) throws InterruptedException
{
roots.add(folder, subfolders);
}
public void remove(Folder folder) throws InterruptedException
{
roots.remove(folder);
}
public void change(Folder folder, boolean subfolders) throws InterruptedException
{
roots.change(folder, subfolders);
}
public void update() throws InterruptedException
{
roots.update();
}
public Vector<AbstractFolderTreeNode> getRoots()
{
return roots.getNodes();
}
private void readObject(ObjectInputStream in) throws IOException,
ClassNotFoundException
{
roots = (FolderTreeNodeContainer) in.readObject();
}
private void writeObject(ObjectOutputStream out) throws IOException
{
out.writeObject(roots);
}
}