BasicDirectoryModel (Java SE 14 & JDK 14)
Description: declaration: module: java.desktop, package: javax.swing.plaf.basic, class: BasicDirectoryModel
Keywords: javax.swing.plaf.basic.BasicDirectoryModel class

Module java.desktop
Package javax.swing.plaf.basic

# Class BasicDirectoryModel

java.lang.Object
javax.swing.AbstractListModel<Object>
javax.swing.plaf.basic.BasicDirectoryModel

All Implemented Interfaces:
  `PropertyChangeListener`, `Serializable`, `EventListener`, `ListModel<Object>`

    public class BasicDirectoryModel
    extends AbstractListModel<Object>
    implements PropertyChangeListener

Basic implementation of a file list.

- ## Field Summary

  ### Fields declared in class javax.swing.AbstractListModel

  `listenerList`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `BasicDirectoryModel​(JFileChooser filechooser)` | Constructs a new instance of `BasicDirectoryModel`.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `addPropertyChangeListener​(PropertyChangeListener listener)` | Adds a PropertyChangeListener to the listener list.
  `boolean` | `contains​(Object o)` | Returns `true` if an element `o` is in file cache, otherwise, returns `false`.
  `void` | `fireContentsChanged()` | Invoked when a content is changed.
  `protected void` | `firePropertyChange​(String propertyName, Object oldValue, Object newValue)` | Support for reporting bound property changes for boolean properties.
  `Vector<File>` | `getDirectories()` | Returns a list of directories.
  `Vector<File>` | `getFiles()` | Returns a list of files.
  `PropertyChangeListener[]` | `getPropertyChangeListeners()` | Returns an array of all the property change listeners registered on this component.
  `int` | `indexOf​(Object o)` | Returns an index of element `o` in file cache.
  `void` | `intervalAdded​(ListDataEvent e)` | Obsolete - not used.
  `void` | `intervalRemoved​(ListDataEvent e)` | Obsolete - not used.
  `void` | `invalidateFileCache()` | This method is used to interrupt file loading thread.
  `protected boolean` | `lt​(File a, File b)` | Obsolete - not used
  `void` | `removePropertyChangeListener​(PropertyChangeListener listener)` | Removes a PropertyChangeListener from the listener list.
  `boolean` | `renameFile​(File oldFile, File newFile)` | Renames a file in the underlying file system.
  `protected void` | `sort​(Vector<? extends File> v)` | Sorts a list of files.
  `void` | `validateFileCache()` | Validates content of file cache.

  ### Methods declared in class javax.swing.AbstractListModel

  `addListDataListener, fireContentsChanged, fireIntervalAdded, fireIntervalRemoved, getListDataListeners, getListeners, removeListDataListener`

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods declared in interface javax.swing.ListModel

  `getElementAt, getSize`

  ### Methods declared in interface java.beans.PropertyChangeListener

  `propertyChange`

- ## Constructor Details

  - ### BasicDirectoryModel

    public BasicDirectoryModel​(JFileChooser filechooser)
    Constructs a new instance of `BasicDirectoryModel`.
    Parameters:
      `filechooser` - an instance of {JFileChooser}

- ## Method Details

  - ### invalidateFileCache

    public void invalidateFileCache()
    This method is used to interrupt file loading thread.

  - ### getDirectories

    public Vector<File> getDirectories()
    Returns a list of directories.
    Returns:
      a list of directories

  - ### getFiles

    public Vector<File> getFiles()
    Returns a list of files.
    Returns:
      a list of files

  - ### validateFileCache

    public void validateFileCache()
    Validates content of file cache.

  - ### renameFile

    public boolean renameFile​(File oldFile, File newFile)
    Renames a file in the underlying file system.
    Parameters:
      `oldFile` - a `File` object representing the existing file
      `newFile` - a `File` object representing the desired new file name
    Returns:
      `true` if rename succeeded, otherwise `false`
    Since:
      1.4

  - ### fireContentsChanged

    public void fireContentsChanged()
    Invoked when a content is changed.

  - ### contains

    public boolean contains​(Object o)
    Returns `true` if an element `o` is in file cache, otherwise, returns `false`.
    Parameters:
      `o` - an element
    Returns:
      `true` if an element `o` is in file cache

  - ### indexOf

    public int indexOf​(Object o)
    Returns an index of element `o` in file cache.
    Parameters:
      `o` - an element
    Returns:
      an index of element `o` in file cache

  - ### intervalAdded

    public void intervalAdded​(ListDataEvent e)
    Obsolete - not used.
    Parameters:
      `e` - list data event

  - ### intervalRemoved

    public void intervalRemoved​(ListDataEvent e)
    Obsolete - not used.
    Parameters:
      `e` - list data event

  - ### sort

    protected void sort​(Vector<? extends File> v)
    Sorts a list of files.
    Parameters:
      `v` - a list of files

  - ### lt

    protected boolean lt​(File a, File b)
    Obsolete - not used
    Parameters:
      `a` - a file
      `b` - another file
    Returns:
      a comparison of the file names

  - ### addPropertyChangeListener

    public void addPropertyChangeListener​(PropertyChangeListener listener)
    Adds a PropertyChangeListener to the listener list. The listener is registered for all bound properties of this class.

    If `listener` is `null`, no exception is thrown and no action is performed.

    Parameters:
      `listener` - the property change listener to be added
    Since:
      1.6
    See Also:
      `removePropertyChangeListener(java.beans.PropertyChangeListener)`, `getPropertyChangeListeners()`

  - ### removePropertyChangeListener

    public void removePropertyChangeListener​(PropertyChangeListener listener)
    Removes a PropertyChangeListener from the listener list.

    If listener is null, no exception is thrown and no action is performed.

    Parameters:
      `listener` - the PropertyChangeListener to be removed
    Since:
      1.6
    See Also:
      `addPropertyChangeListener(java.beans.PropertyChangeListener)`, `getPropertyChangeListeners()`

  - ### getPropertyChangeListeners

    public PropertyChangeListener[] getPropertyChangeListeners()
    Returns an array of all the property change listeners registered on this component.
    Returns:
      all of this component's `PropertyChangeListener`s or an empty array if no property change listeners are currently registered
    Since:
      1.6
    See Also:
      `addPropertyChangeListener(java.beans.PropertyChangeListener)`, `removePropertyChangeListener(java.beans.PropertyChangeListener)`, `PropertyChangeSupport.getPropertyChangeListeners()`

  - ### firePropertyChange

    protected void firePropertyChange​(String propertyName, Object oldValue, Object newValue)
    Support for reporting bound property changes for boolean properties. This method can be called when a bound property has changed and it will send the appropriate PropertyChangeEvent to any registered PropertyChangeListeners.
    Parameters:
      `propertyName` - the property whose value has changed
      `oldValue` - the property's previous value
      `newValue` - the property's new value
    Since:
      1.6