Class FileEntry

  • All Implemented Interfaces:
    java.io.Serializable

    public class FileEntry
    extends java.lang.Object
    implements java.io.Serializable
    The state of a file or directory, capturing the following File attributes at a point in time.
    • File Name (see File.getName())
    • Exists - whether the file exists or not (see File.exists())
    • Directory - whether the file is a directory or not (see File.isDirectory())
    • Last Modified Date/Time (see FileUtils.lastModifiedUnchecked(File))
    • Length (see File.length()) - directories treated as zero
    • Children - contents of a directory (see File.listFiles(java.io.FileFilter))

    Custom Implementations

    If the state of additional File attributes is required then create a custom FileEntry with properties for those attributes. Override the newChildInstance(File) to return a new instance of the appropriate type. You may also want to override the refresh(File) method.

    Since:
    2.0
    See Also:
    FileAlterationObserver, Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      FileEntry​(java.io.File file)
      Construct a new monitor for a specified File.
      FileEntry​(FileEntry parent, java.io.File file)
      Construct a new monitor for a specified File.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      FileEntry[] getChildren()
      Return the directory's files.
      java.io.File getFile()
      Return the file being monitored.
      long getLastModified()
      Return the last modified time from the last time it was checked.
      long getLength()
      Return the length.
      int getLevel()
      Return the level
      java.lang.String getName()
      Return the file name.
      FileEntry getParent()
      Return the parent entry.
      boolean isDirectory()
      Indicate whether the file is a directory or not.
      boolean isExists()
      Indicate whether the file existed the last time it was checked.
      FileEntry newChildInstance​(java.io.File file)
      Create a new child instance.
      boolean refresh​(java.io.File file)
      Refresh the attributes from the File, indicating whether the file has changed.
      void setChildren​(FileEntry... children)
      Set the directory's files.
      void setDirectory​(boolean directory)
      Set whether the file is a directory or not.
      void setExists​(boolean exists)
      Set whether the file existed the last time it was checked.
      void setLastModified​(long lastModified)
      Return the last modified time from the last time it was checked.
      void setLength​(long length)
      Set the length.
      void setName​(java.lang.String name)
      Set the file name.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FileEntry

        public FileEntry​(java.io.File file)
        Construct a new monitor for a specified File.
        Parameters:
        file - The file being monitored
      • FileEntry

        public FileEntry​(FileEntry parent,
                         java.io.File file)
        Construct a new monitor for a specified File.
        Parameters:
        parent - The parent
        file - The file being monitored
    • Method Detail

      • refresh

        public boolean refresh​(java.io.File file)
        Refresh the attributes from the File, indicating whether the file has changed.

        This implementation refreshes the name, exists, directory, lastModified and length properties.

        The exists, directory, lastModified and length properties are compared for changes

        Parameters:
        file - the file instance to compare to
        Returns:
        true if the file has changed, otherwise false
      • newChildInstance

        public FileEntry newChildInstance​(java.io.File file)
        Create a new child instance.

        Custom implementations should override this method to return a new instance of the appropriate type.

        Parameters:
        file - The child file
        Returns:
        a new child instance
      • getParent

        public FileEntry getParent()
        Return the parent entry.
        Returns:
        the parent entry
      • getLevel

        public int getLevel()
        Return the level
        Returns:
        the level
      • getChildren

        public FileEntry[] getChildren()
        Return the directory's files.
        Returns:
        This directory's files or an empty array if the file is not a directory or the directory is empty
      • setChildren

        public void setChildren​(FileEntry... children)
        Set the directory's files.
        Parameters:
        children - This directory's files, may be null
      • getFile

        public java.io.File getFile()
        Return the file being monitored.
        Returns:
        the file being monitored
      • getName

        public java.lang.String getName()
        Return the file name.
        Returns:
        the file name
      • setName

        public void setName​(java.lang.String name)
        Set the file name.
        Parameters:
        name - the file name
      • getLastModified

        public long getLastModified()
        Return the last modified time from the last time it was checked.
        Returns:
        the last modified time
      • setLastModified

        public void setLastModified​(long lastModified)
        Return the last modified time from the last time it was checked.
        Parameters:
        lastModified - The last modified time
      • getLength

        public long getLength()
        Return the length.
        Returns:
        the length
      • setLength

        public void setLength​(long length)
        Set the length.
        Parameters:
        length - the length
      • isExists

        public boolean isExists()
        Indicate whether the file existed the last time it was checked.
        Returns:
        whether the file existed
      • setExists

        public void setExists​(boolean exists)
        Set whether the file existed the last time it was checked.
        Parameters:
        exists - whether the file exists or not
      • isDirectory

        public boolean isDirectory()
        Indicate whether the file is a directory or not.
        Returns:
        whether the file is a directory or not
      • setDirectory

        public void setDirectory​(boolean directory)
        Set whether the file is a directory or not.
        Parameters:
        directory - whether the file is a directory or not