package jas2.job;
import hepjas.analysis.*;
import hepjas.analysis.peer.*;
import jas2.util.tree.*;
/**
* JobFolder is the Peer for Folder objects created within a Job
*/
public class JobFolder extends SimpleNode implements FolderPeer
{
/**
* Create a Root folder
*/
JobFolder(AbstractJob job)
{
super("Root","folder",TreeItem.FOLDER,null);
m_job = job;
}
JobFolder(AbstractJob job, Folder f, JobFolder parent, String type)
{
super(parent,f.getName(),type,TreeItem.FOLDER,f);
m_job = job;
}
public void addNotify(NamedObject o)
{
Peer peer;
// Create the appropriate peer
if (o instanceof HistogramFolder) peer = new JobHistogramFolder(m_job,(HistogramFolder) o,this);
else if (o instanceof Folder ) peer = new JobFolder(m_job,(Folder) o,this,"folder");
else if (o instanceof Histogram ) peer = new JobHistogram((Histogram) o,this);
else if (o instanceof Page ) peer = new JobPage((Page) o, this);
else if (o instanceof Plot ) peer = new JobPlot((Plot) o, this);
else throw new RuntimeException("Unknown object added to folder");
PeerSupport.setPeer(o,peer);
}
public void removeNotify(NamedObject o)
{
Peer peer = PeerSupport.getPeer(o);
SimpleNode child = findChild(o.getName());
child.destroy();
}
public void changeNotify(NamedObject o, String oldName)
{
SimpleNode child = findChild(oldName);
renameChild(child,o.getName());
}
private AbstractJob m_job;
}
Ads help maintain this website.