1 package tim.prune.data;
3 import java.util.ArrayList;
6 * Class to hold the information about the file(s)
7 * from which the data was loaded from / saved to
11 /** List of sources */
12 private ArrayList<SourceInfo> _sources = new ArrayList<SourceInfo>();
22 * Private constructor for creating clone
23 * @param inList list of sources
25 private FileInfo(ArrayList<SourceInfo> inList)
31 * Add a data source to the list
32 * @param inInfo info object to add
34 public void addSource(SourceInfo inInfo)
40 * Replace the list of data sources with the given source
41 * @param inInfo new source
43 public void replaceSource(SourceInfo inInfo)
50 * remove the last source added
52 public void removeSource()
54 _sources.remove(_sources.size()-1);
58 * @return the number of files loaded
60 public int getNumFiles()
62 return _sources.size();
67 * @return The source name, if a single file
69 public String getFilename()
71 if (getNumFiles() == 1)
72 return _sources.get(0).getName();
77 * @param inIndex index number
78 * @return source info object
80 public SourceInfo getSource(int inIndex) {
81 return _sources.get(inIndex);
85 * Get the SourceInfo object (if any) for the given point
86 * @param inPoint point object
87 * @return SourceInfo object if there is one, otherwise null
89 public SourceInfo getSourceForPoint(DataPoint inPoint)
91 for (SourceInfo source : _sources) {
92 if (source.getIndex(inPoint) >= 0) {
100 * Clone contents of file info
102 @SuppressWarnings("unchecked")
103 public FileInfo clone()
106 ArrayList<SourceInfo> copy = (ArrayList<SourceInfo>) _sources.clone();
107 return new FileInfo(copy);