Package com.oroinc.net.ftp
Class FTPFile
java.lang.Object
com.oroinc.net.ftp.FTPFile
- All Implemented Interfaces:
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
FieldsModifier and TypeFieldDescriptionstatic 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 -
Method Summary
Modifier and TypeMethodDescriptiongetGroup()
Returns the name of the group owning the file.int
Return the number of hard links to this file.getLink()
If the FTPFile is a symbolic link, this method returns the name of the file being pointed to by the symbolic link.getName()
Return the name of the file.Get the original FTP server raw listing used to initialize the FTPFile.long
getSize()
Return the file size in bytes.Returns the file timestamp.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.getUser()
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
isFile()
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
setTimestamp
(Calendar date) 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.toString()
Returns a string representation of the FTPFile information.
-
Field Details
-
FILE_TYPE
public static final int FILE_TYPEA constant indicating an FTPFile is a file.- See Also:
-
DIRECTORY_TYPE
public static final int DIRECTORY_TYPEA constant indicating an FTPFile is a directory.- See Also:
-
SYMBOLIC_LINK_TYPE
public static final int SYMBOLIC_LINK_TYPEA constant indicating an FTPFile is a symbolic link.- See Also:
-
UNKNOWN_TYPE
public static final int UNKNOWN_TYPEA constant indicating an FTPFile is of unknown type.- See Also:
-
USER_ACCESS
public static final int USER_ACCESSA constant indicating user access permissions.- See Also:
-
GROUP_ACCESS
public static final int GROUP_ACCESSA constant indicating group access permissions.- See Also:
-
WORLD_ACCESS
public static final int WORLD_ACCESSA constant indicating world access permissions.- See Also:
-
READ_PERMISSION
public static final int READ_PERMISSIONA constant indicating file/directory read permission.- See Also:
-
WRITE_PERMISSION
public static final int WRITE_PERMISSIONA constant indicating file/directory write permission.- See Also:
-
EXECUTE_PERMISSION
public static final int EXECUTE_PERMISSIONA constant indicating file execute permission or directory listing permission.- See Also:
-
-
Constructor Details
-
FTPFile
public FTPFile()Creates an empty FTPFile.
-
-
Method Details
-
setRawListing
Set the original FTP server raw listing from which the FTPFile was created.- Parameters:
rawListing
- The raw FTP server listing.
-
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
Set the name of the file.- Parameters:
name
- The name of the file.
-
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
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
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
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
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
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
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
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
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
Returns a string representation of the FTPFile information. This will be the raw FTP server listing that was used to initialize the FTPFile instance.
-