pivot.io
Class Folder

java.lang.Object
  extended by java.io.File
      extended by pivot.io.Folder
All Implemented Interfaces:
Serializable, Comparable<File>, Iterable<File>, Collection<File>, List<File>, Sequence<File>

public class Folder
extends File
implements List<File>

Class representing a folder in the file system.

NOTE Because Java does not provide any way to monitor the file system for changes, instances of this class must be refreshed periodically to reflect updates. Instances must also be refreshed to perform initial population immediately after construction. See refresh().

Author:
gbrown
See Also:
Serialized Form

Nested Class Summary
static class Folder.FileNameComparator
          Default file name comparator.
 
Nested classes/interfaces inherited from interface pivot.collections.List
List.ListListenerList<T>
 
Nested classes/interfaces inherited from interface pivot.collections.Sequence
Sequence.Search, Sequence.Sort, Sequence.Tree
 
Field Summary
 
Fields inherited from class java.io.File
pathSeparator, pathSeparatorChar, separator, separatorChar
 
Constructor Summary
Folder()
           
Folder(FileFilter fileFilter)
           
Folder(String pathname)
           
Folder(String pathname, FileFilter fileFilter)
           
 
Method Summary
 int add(File file)
          This method is not supported.
 void clear()
          This method is not supported.
 File get(int index)
          Retrieves the item at the given index.
 Comparator<File> getComparator()
          Returns the collection's sort order.
 FileFilter getFileFilter()
          Returns the file filter that is applied to this folder.
 int getLength()
          Returns the length of the list.
 ListenerList<ListListener<File>> getListListeners()
          Returns the list listener list.
 int indexOf(File file)
          Returns the index of an item in the sequence.
 void insert(File file, int index)
          This method is not supported.
 Iterator<File> iterator()
           
 void refresh()
          Refreshes the file list by requerying the file system for the current contents.
 int remove(File file)
          This method is not supported.
 Sequence<File> remove(int index, int count)
          This method is not supported.
 void setComparator(Comparator<File> comparator)
          Sets the collection's sort order, re-ordering the collection's contents and ensuring that new entries preserve the sort order.
 File update(int index, File file)
          This method is not supported.
 
Methods inherited from class java.io.File
canExecute, canRead, canWrite, compareTo, createNewFile, createTempFile, createTempFile, delete, deleteOnExit, equals, exists, getAbsoluteFile, getAbsolutePath, getCanonicalFile, getCanonicalPath, getFreeSpace, getName, getParent, getParentFile, getPath, getTotalSpace, getUsableSpace, hashCode, isAbsolute, isDirectory, isFile, isHidden, lastModified, length, list, list, listFiles, listFiles, listFiles, listRoots, mkdir, mkdirs, renameTo, setExecutable, setExecutable, setLastModified, setReadable, setReadable, setReadOnly, setWritable, setWritable, toString, toURI, toURL
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Folder

public Folder()

Folder

public Folder(FileFilter fileFilter)

Folder

public Folder(String pathname)

Folder

public Folder(String pathname,
              FileFilter fileFilter)
Method Detail

getFileFilter

public FileFilter getFileFilter()
Returns the file filter that is applied to this folder.


add

public int add(File file)
This method is not supported.

Specified by:
add in interface List<File>
Specified by:
add in interface Sequence<File>
Parameters:
file - The item to be added to the sequence.
Returns:
The index at which the item was added.
See Also:
ListListener.itemInserted(List, int)

insert

public void insert(File file,
                   int index)
This method is not supported.

Specified by:
insert in interface List<File>
Specified by:
insert in interface Sequence<File>
Parameters:
file - The item to be added to the list.
index - The index at which the item should be inserted. Must be a value between 0 and getLength().
See Also:
ListListener.itemInserted(List, int)

update

public File update(int index,
                   File file)
This method is not supported.

Specified by:
update in interface List<File>
Specified by:
update in interface Sequence<File>
Parameters:
index - The index of the item to update.
file - The item that will replace any existing value at the given index.
Returns:
The item that was previously stored at the given index.
See Also:
ListListener.itemUpdated(List, int, Object)

remove

public int remove(File file)
This method is not supported.

Specified by:
remove in interface Sequence<File>
Parameters:
file - The item to remove.
Returns:
The index of the item that was removed, or -1 if the item could not be found.
See Also:
Sequence.remove(int, int)

remove

public Sequence<File> remove(int index,
                             int count)
This method is not supported.

Specified by:
remove in interface List<File>
Specified by:
remove in interface Sequence<File>
Parameters:
index - The starting index to remove.
count - The number of items to remove, beginning with index.
Returns:
A sequence containing the items that were removed.
See Also:
ListListener.itemsRemoved(List, int, Sequence)

clear

public void clear()
This method is not supported.

Specified by:
clear in interface Collection<File>
Specified by:
clear in interface List<File>
See Also:
ListListener.itemsRemoved(List, int, Sequence)

get

public File get(int index)
Description copied from interface: Sequence
Retrieves the item at the given index.

Specified by:
get in interface Sequence<File>
Parameters:
index - The index of the item to retrieve.

indexOf

public int indexOf(File file)
Description copied from interface: Sequence
Returns the index of an item in the sequence.

Specified by:
indexOf in interface Sequence<File>
Parameters:
file - The item to locate.
Returns:
The index of first occurrence of the item if it exists in the sequence; -1, otherwise.

getLength

public int getLength()
Description copied from interface: List
Returns the length of the list.

Specified by:
getLength in interface List<File>
Specified by:
getLength in interface Sequence<File>
Returns:
The number of items in the list, or -1 if the list's length is not known. In this case, the iterator must be used to retrieve the contents of the list.

getComparator

public Comparator<File> getComparator()
Description copied from interface: Collection
Returns the collection's sort order.

Specified by:
getComparator in interface Collection<File>
Returns:
The comparator used to order elements in the collection, or null if the sort order is undefined.
See Also:
Collection.setComparator(Comparator)

setComparator

public void setComparator(Comparator<File> comparator)
Description copied from interface: Collection
Sets the collection's sort order, re-ordering the collection's contents and ensuring that new entries preserve the sort order.

Specified by:
setComparator in interface Collection<File>
Specified by:
setComparator in interface List<File>
Parameters:
comparator - The comparator used to order elements in the collection, or null if the collection is unsorted.
See Also:
ListListener.comparatorChanged(List, Comparator)

refresh

public void refresh()
Refreshes the file list by requerying the file system for the current contents.


iterator

public Iterator<File> iterator()
Specified by:
iterator in interface Iterable<File>

getListListeners

public ListenerList<ListListener<File>> getListListeners()
Description copied from interface: List
Returns the list listener list.

Specified by:
getListListeners in interface List<File>