Package org.apache.commons.io.monitor
Class FileEntry
- java.lang.Object
-
- org.apache.commons.io.monitor.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 followingFile
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 customFileEntry
with properties for those attributes. Override thenewChildInstance(File)
to return a new instance of the appropriate type. You may also want to override therefresh(File)
method.- Since:
- 2.0
- See Also:
FileAlterationObserver
, Serialized Form
-
-
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 leveljava.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 theFile
, 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.
-
-
-
Constructor Detail
-
FileEntry
public FileEntry(java.io.File file)
Construct a new monitor for a specifiedFile
.- Parameters:
file
- The file being monitored
-
FileEntry
public FileEntry(FileEntry parent, java.io.File file)
Construct a new monitor for a specifiedFile
.- Parameters:
parent
- The parentfile
- The file being monitored
-
-
Method Detail
-
refresh
public boolean refresh(java.io.File file)
Refresh the attributes from theFile
, indicating whether the file has changed.This implementation refreshes the
name
,exists
,directory
,lastModified
andlength
properties.The
exists
,directory
,lastModified
andlength
properties are compared for changes- Parameters:
file
- the file instance to compare to- Returns:
true
if the file has changed, otherwisefalse
-
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
-
-