Class FTPFile

java.lang.Object
com.oroinc.net.ftp.FTPFile
All Implemented Interfaces:
Serializable

public class FTPFile extends Object implements Serializable
The FTPFile class is used to represent information about files stored on an FTP server. Because there is no standard representation for file information on FTP servers, it may not always be possible to extract all the information that can be represented by FTPFile, or it may even be possible to extract more information. In cases where more information can be extracted, you will want to subclass FTPFile and implement your own FTPFileListParser to extract the information. However, most FTP servers return file information in a format that can be completely parsed by DefaultFTPFileListParser and stored in FTPFile.

Author:
Daniel F. Savarese
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    A constant indicating an FTPFile is a directory.
    static final int
    A constant indicating file execute permission or directory listing permission.
    static final int
    A constant indicating an FTPFile is a file.
    static final int
    A constant indicating group access permissions.
    static final int
    A constant indicating file/directory read permission.
    static final int
    A constant indicating an FTPFile is a symbolic link.
    static final int
    A constant indicating an FTPFile is of unknown type.
    static final int
    A constant indicating user access permissions.
    static final int
    A constant indicating world access permissions.
    static final int
    A constant indicating file/directory write permission.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates an empty FTPFile.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the name of the group owning the file.
    int
    Return the number of hard links to this file.
    If the FTPFile is a symbolic link, this method returns the name of the file being pointed to by the symbolic link.
    Return the name of the file.
    Get the original FTP server raw listing used to initialize the FTPFile.
    long
    Return the file size in bytes.
    Returns the file timestamp.
    int
    Return the type of the file (one of the _TYPE constants), e.g., if it is a directory, a regular file, or a symbolic link.
    Returns the name of the user owning the file.
    boolean
    hasPermission(int access, int permission)
    Determines if the given access group (one of the _ACCESS constants) has the given access permission (one of the _PERMISSION constants) to the file.
    boolean
    Determine if the file is a directory.
    boolean
    Determine if the file is a regular file.
    boolean
    Determine if the file is a symbolic link.
    boolean
    Determine if the type of the file is unknown.
    void
    Set the name of the group owning the file.
    void
    setHardLinkCount(int links)
    Set the number of hard links to this file.
    void
    If the FTPFile is a symbolic link, use this method to set the name of the file being pointed to by the symbolic link.
    void
    Set the name of the file.
    void
    setPermission(int access, int permission, boolean value)
    Set if the given access group (one of the _ACCESS constants) has the given access permission (one of the _PERMISSION constants) to the file.
    void
    setRawListing(String rawListing)
    Set the original FTP server raw listing from which the FTPFile was created.
    void
    setSize(long size)
    Set the file size in bytes.
    void
    Set the file timestamp.
    void
    setType(int type)
    Set the type of the file (DIRECTORY_TYPE, FILE_TYPE, etc.).
    void
    Set the name of the user owning the file.
    Returns a string representation of the FTPFile information.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • FILE_TYPE

      public static final int FILE_TYPE
      A constant indicating an FTPFile is a file.
      See Also:
    • DIRECTORY_TYPE

      public static final int DIRECTORY_TYPE
      A constant indicating an FTPFile is a directory.
      See Also:
    • UNKNOWN_TYPE

      public static final int UNKNOWN_TYPE
      A constant indicating an FTPFile is of unknown type.
      See Also:
    • USER_ACCESS

      public static final int USER_ACCESS
      A constant indicating user access permissions.
      See Also:
    • GROUP_ACCESS

      public static final int GROUP_ACCESS
      A constant indicating group access permissions.
      See Also:
    • WORLD_ACCESS

      public static final int WORLD_ACCESS
      A constant indicating world access permissions.
      See Also:
    • READ_PERMISSION

      public static final int READ_PERMISSION
      A constant indicating file/directory read permission.
      See Also:
    • WRITE_PERMISSION

      public static final int WRITE_PERMISSION
      A constant indicating file/directory write permission.
      See Also:
    • EXECUTE_PERMISSION

      public static final int EXECUTE_PERMISSION
      A constant indicating file execute permission or directory listing permission.
      See Also:
  • Constructor Details

    • FTPFile

      public FTPFile()
      Creates an empty FTPFile.
  • Method Details

    • setRawListing

      public void setRawListing(String rawListing)
      Set the original FTP server raw listing from which the FTPFile was created.

      Parameters:
      rawListing - The raw FTP server listing.
    • getRawListing

      public String getRawListing()
      Get the original FTP server raw listing used to initialize the FTPFile.

      Returns:
      The original FTP server raw listing used to initialize the FTPFile.
    • isDirectory

      public boolean isDirectory()
      Determine if the file is a directory.

      Returns:
      True if the file is of type DIRECTORY_TYPE, false if not.
    • isFile

      public boolean isFile()
      Determine if the file is a regular file.

      Returns:
      True if the file is of type FILE_TYPE, false if not.
    • isSymbolicLink

      public boolean isSymbolicLink()
      Determine if the file is a symbolic link.

      Returns:
      True if the file is of type UNKNOWN_TYPE, false if not.
    • isUnknown

      public boolean isUnknown()
      Determine if the type of the file is unknown.

      Returns:
      True if the file is of type UNKNOWN_TYPE, false if not.
    • setType

      public void setType(int type)
      Set the type of the file (DIRECTORY_TYPE, FILE_TYPE, etc.).

      Parameters:
      type - The integer code representing the type of the file.
    • getType

      public int getType()
      Return the type of the file (one of the _TYPE constants), e.g., if it is a directory, a regular file, or a symbolic link.

      Returns:
      The type of the file.
    • setName

      public void setName(String name)
      Set the name of the file.

      Parameters:
      name - The name of the file.
    • getName

      public String getName()
      Return the name of the file.

      Returns:
      The name of the file.
    • setSize

      public void setSize(long size)
      Set the file size in bytes.

      Parameters:
      The - file size in bytes.
    • getSize

      public long getSize()
      Return the file size in bytes.

      Returns:
      The file size in bytes.
    • setHardLinkCount

      public void setHardLinkCount(int links)
      Set the number of hard links to this file. This is not to be confused with symbolic links.

      Parameters:
      links - The number of hard links to this file.
    • getHardLinkCount

      public int getHardLinkCount()
      Return the number of hard links to this file. This is not to be confused with symbolic links.

      Returns:
      The number of hard links to this file.
    • setGroup

      public void setGroup(String group)
      Set the name of the group owning the file. This may be a string representation of the group number.

      Parameters:
      group - The name of the group owning the file.
    • getGroup

      public String getGroup()
      Returns the name of the group owning the file. Sometimes this will be a string representation of the group number.

      Returns:
      The name of the group owning the file.
    • setUser

      public void setUser(String user)
      Set the name of the user owning the file. This may be a string representation of the user number;

      Parameters:
      user - The name of the user owning the file.
    • getUser

      public String getUser()
      Returns the name of the user owning the file. Sometimes this will be a string representation of the user number.

      Returns:
      The name of the user owning the file.
    • setLink

      public void setLink(String link)
      If the FTPFile is a symbolic link, use this method to set the name of the file being pointed to by the symbolic link.

      Parameters:
      link - The file pointed to by the symbolic link.
    • getLink

      public String getLink()
      If the FTPFile is a symbolic link, this method returns the name of the file being pointed to by the symbolic link. Otherwise it returns null.

      Returns:
      The file pointed to by the symbolic link (null if the FTPFile is not a symbolic link).
    • setTimestamp

      public void setTimestamp(Calendar date)
      Set the file timestamp. This usually the last modification time. The parameter is not cloned, so do not alter its value after calling this method.

      Parameters:
      date - A Calendar instance representing the file timestamp.
    • getTimestamp

      public Calendar getTimestamp()
      Returns the file timestamp. This usually the last modification time.

      Returns:
      A Calendar instance representing the file timestamp.
    • setPermission

      public void setPermission(int access, int permission, boolean value)
      Set if the given access group (one of the _ACCESS constants) has the given access permission (one of the _PERMISSION constants) to the file.

      Parameters:
      access - The access group (one of the _ACCESS constants)
      permission - The access permission (one of the _PERMISSION constants)
      value - True if permission is allowed, false if not.
    • hasPermission

      public boolean hasPermission(int access, int permission)
      Determines if the given access group (one of the _ACCESS constants) has the given access permission (one of the _PERMISSION constants) to the file.

      Parameters:
      access - The access group (one of the _ACCESS constants)
      permission - The access permission (one of the _PERMISSION constants)
    • toString

      public String toString()
      Returns a string representation of the FTPFile information. This will be the raw FTP server listing that was used to initialize the FTPFile instance.

      Overrides:
      toString in class Object
      Returns:
      A string representation of the FTPFile information.