org.gridlab.gat.io.attributes
Interface BasicFileAttributes

All Known Subinterfaces:
PosixFileAttributes

public interface BasicFileAttributes

Basic attributes associated with a file in a file system.

Basic file attributes are attributes that are common to many file systems and consist of mandatory and optional file attributes as defined by this interface.

Usage Example:

    FileRef file = ...
    BasicFileAttributes attrs = Attributes.readBasicFileAttributes(file);
 

Since:
1.7
See Also:
BasicFileAttributeView

Method Summary
 long creationTime()
          Returns the creation time if supported.
 Object fileKey()
          Returns an object that uniquely identifies the given file, or null if a file key is not available.
 boolean isDirectory()
          Tells whether the file is a directory.
 boolean isOther()
          Tells whether the file is something other than a regular file, directory, or link.
 boolean isRegularFile()
          Tells whether the file is a regular file with opaque content.
 boolean isSymbolicLink()
          Tells whether the file is a symbolic-link.
 long lastAccessTime()
          Returns the time of last access if supported.
 long lastModifiedTime()
          Returns the time of last modification.
 int linkCount()
          Returns the number of links to this file.
 TimeUnit resolution()
          Returns the TimeUnit required to interpret the time of last modification, time of last access, and creation time.
 long size()
          Returns the size of the file (in bytes).
 

Method Detail

lastModifiedTime

long lastModifiedTime()
Returns the time of last modification.

The resolution method returns the TimeUnit to interpret the return value of this method.

Returns:
a long value representing the time the file was last modified since the epoch (00:00:00 GMT, January 1, 1970), or -1L if the attribute is not supported.

lastAccessTime

long lastAccessTime()
Returns the time of last access if supported.

The resolution method returns the TimeUnit to interpret the return value of this method.

Returns:
a long value representing the time of last access since the epoch (00:00:00 GMT, January 1, 1970), or -1L if the attribute is not supported.

creationTime

long creationTime()
Returns the creation time if supported. The creation time is the time that the file was created.

The resolution method returns the TimeUnit to interpret the return value of this method.

Returns:
a long value representing the time the file was created since the epoch (00:00:00 GMT, January 1, 1970), or -1L if the attribute is not supported.

resolution

TimeUnit resolution()
Returns the TimeUnit required to interpret the time of last modification, time of last access, and creation time.

Returns:
the TimeUnit required to interpret the file time stamps

isRegularFile

boolean isRegularFile()
Tells whether the file is a regular file with opaque content.


isDirectory

boolean isDirectory()
Tells whether the file is a directory.


isSymbolicLink

boolean isSymbolicLink()
Tells whether the file is a symbolic-link.


isOther

boolean isOther()
Tells whether the file is something other than a regular file, directory, or link.


size

long size()
Returns the size of the file (in bytes). The size may differ from the actual size on the file system due to compression, support for sparse files, or other reasons. The size of files that are not regular files is implementation specific and therefore unspecified.

Returns:
the file size, in bytes

linkCount

int linkCount()
Returns the number of links to this file.

On file systems where the same file may be in several directories then the link count is the number of directory entries for the file. The return value is 1 on file systems that only allow a file to have a single name in a single directory.


fileKey

Object fileKey()
Returns an object that uniquely identifies the given file, or null if a file key is not available. On some platforms or file systems it is possible to use an identifier, or a combination of identifiers to uniquely identify a file. Such identifiers are important for operations such as file tree traversal in file systems that support symbolic links or file systems that allow a file to be an entry in more than one directory. On UNIX file systems, for example, the device ID and inode are commonly used for such purposes.

The file key returned by this method can only be guaranteed to be unique if the file system and files remain static. Whether a file system re-uses identifiers after a file is deleted is implementation dependent and therefore unspecified.

File keys returned by this method can be compared for equality and are suitable for use in collections.