/**
*
*/
package org.hyperdata.scute.filemanager;
import java.io.File;
import java.util.List;
import javax.swing.AbstractListModel;
/**
* @author danny
*
*/
public class DirListModel extends AbstractListModel {
protected File directory;
protected List<File> files;
protected int rowCount;
public DirListModel(File dir){
super();
setDirectory(dir);
}
/**
* Sets the directory.
*
* @param dir the new directory
*/
public void setDirectory(File dir) {
if (dir != null) {
directory = dir;
files = FileComparator.getSortedChildren(dir);
rowCount = files.size();
}
else {
directory = null;
files = null;
rowCount = 0;
}
fireContentsChanged(this, 0, rowCount);
}
/* (non-Javadoc)
* @see javax.swing.ListModel#getElementAt(int)
*/
@Override
public Object getElementAt(int i) {
return files.get(i);
}
/* (non-Javadoc)
* @see javax.swing.ListModel#getSize()
*/
@Override
public int getSize() {
return rowCount;
}
}