package com.limegroup.gnutella.gui.library;
import java.io.File;
import java.io.FileFilter;
import javax.swing.Icon;
/**
* Interface for the directory data model behind a node in the library tree.
*
*/
public interface DirectoryHolder extends FileFilter {
/**
* Returns the name of the directory.
* @return
*/
String getName();
/**
* Returns an additional description which is displayed as a tooltip.
* @return
*/
String getDescription();
/**
* Returns the physical directory behind this virtual directory holder.
* @return
*/
File getDirectory();
/**
* Returns the files that should be displayed when this directory holder
* is selected.
* @return
*/
File[] getFiles();
/**
* Returns the number of files that this directory holder contains.
*/
int size();
/**
* Returns a display item for the folder.
* @return
*/
Icon getIcon();
/**
* Determines if this is empty.
*/
boolean isEmpty();
}