org.apache.commons.compress.archivers.tar
public class TarEntry extends Object
TarEntries that are created from the header bytes read from an archive are instantiated with the TarEntry( byte[] ) constructor. These entries will be used when extracting from or listing the contents of an archive. These entries have their header filled in using the header bytes. They also set the File to null, since they reference an archive entry not a file.
TarEntries that are created from Files that are to be written into an archive are instantiated with the TarEntry( File ) constructor. These entries have their header filled in using the File's information. They also keep a reference to the File for convenience when writing entries.
Finally, TarEntries can be constructed from nothing but a name. This allows the programmer to construct the entry by hand, for instance when only an InputStream is available for writing to the archive, and the header information is constructed from other information. In this case the header fields are set to defaults and the File is set to null.
The C structure for a Tar Entry's header is:
struct header { char name[NAMSIZ]; char mode[8]; char uid[8]; char gid[8]; char size[12]; char mtime[12]; char chksum[8]; char linkflag; char linkname[NAMSIZ]; char magic[8]; char uname[TUNMLEN]; char gname[TGNMLEN]; char devmajor[8]; char devminor[8]; } header;
Version: $Revision: 155439 $ $Date: 2007-01-09 10:24:33 +0100 (Tue, 09 Jan 2007) $
See Also: TarInputStream TarOutputStream
Field Summary | |
---|---|
static int | CHKSUMLEN
The length of the checksum field in a header buffer. |
static int | DEVLEN
The length of the devices field in a header buffer. |
static int | GIDLEN
The length of the group id field in a header buffer. |
static int | GNAMELEN
The length of the group name field in a header buffer. |
static String | GNU_LONGLINK
The name of the GNU tar entry which contains a long name. |
static byte | LF_DIR
Directory file type. |
static byte | LF_GNUTYPE_LONGNAME
Identifies the *next* file on the tape as having a long name. |
static byte | LF_NORMAL
Normal file type. |
int | m_checkSum
The entry's modification time. |
int | m_devMajor
The entry's group name. |
int | m_devMinor
The entry's major device number. |
File | m_file
The entry's minor device number. |
int | m_groupID
The entry's user id. |
StringBuffer | m_groupName
The entry's user name. |
byte | m_linkFlag
The entry's checksum. |
StringBuffer | m_linkName
The entry's link flag. |
StringBuffer | m_magic
The entry's link name. |
int | m_mode
The entry's name. |
long | m_modTime
The entry's size. |
StringBuffer | m_name |
long | m_size
The entry's group id. |
int | m_userID
The entry's permission mode. |
StringBuffer | m_userName
The entry's magic tag. |
static int | MAGICLEN
The length of the magic field in a header buffer. |
static int | MODELEN
The length of the mode field in a header buffer. |
static int | MODTIMELEN
The length of the modification time field in a header buffer. |
static int | NAMELEN
The length of the name field in a header buffer. |
static int | SIZELEN
The length of the size field in a header buffer. |
static String | TMAGIC
The magic tag representing a POSIX tar archive. |
static int | UIDLEN
The length of the user id field in a header buffer. |
static int | UNAMELEN
The length of the user name field in a header buffer. |
Constructor Summary | |
---|---|
TarEntry(String name)
Construct an entry with only a name. | |
TarEntry(String name, byte linkFlag)
Construct an entry with a name an a link flag.
| |
TarEntry(File file)
Construct an entry for a file. | |
TarEntry(byte[] header)
Construct an entry from an archive's header bytes. | |
TarEntry()
Construct an empty entry and prepares the header values. |
Method Summary | |
---|---|
boolean | equals(TarEntry other)
Determine if the two entries are equal. |
int | getCheckSum()
Get this entry's checksum.
|
TarEntry[] | getDirectoryEntries()
If this entry represents a file, and the file is a directory, return an
array of TarEntries for this entry's children.
|
File | getFile()
Get this entry's file.
|
int | getGroupId()
Get this entry's group id.
|
int | getGroupID()
Get this entry's group id.
|
String | getGroupName()
Get this entry's group name.
|
int | getMode()
Get this entry's mode.
|
Date | getModTime()
Set this entry's modification time.
|
String | getName()
Get this entry's name.
|
long | getSize()
Get this entry's file size.
|
int | getUserId()
Get this entry's user id.
|
int | getUserID()
Get this entry's user id.
|
String | getUserName()
Get this entry's user name.
|
boolean | isDescendent(TarEntry desc)
Determine if the given entry is a descendant of this entry. |
boolean | isDirectory()
Return whether or not this entry represents a directory.
|
boolean | isGNULongNameEntry()
Indicate if this entry is a GNU long name block
|
void | parseTarHeader(byte[] header)
Parse an entry's header information from a header buffer.
|
void | setGroupId(int groupId)
Set this entry's group id.
|
void | setGroupID(int groupId)
Set this entry's group id.
|
void | setGroupName(String groupName)
Set this entry's group name.
|
void | setMode(int mode)
Set the mode for this entry
|
void | setModTime(long time)
Set this entry's modification time. |
void | setModTime(Date time)
Set this entry's modification time.
|
void | setName(String name)
Set this entry's name.
|
void | setSize(long size)
Set this entry's file size.
|
void | setUserId(int userId)
Set this entry's user id.
|
void | setUserID(int userId)
Set this entry's user id.
|
void | setUserName(String userName)
Set this entry's user name.
|
void | writeEntryHeader(byte[] buffer)
Write an entry's header information to a header buffer.
|
Parameters: name the name of the entry
Parameters: name Description of Parameter linkFlag Description of Parameter
Parameters: file The file that the entry represents.
Parameters: header The header bytes from a tar archive entry.
Parameters: other Entry to be checked for equality.
Returns: True if the entries are equal.
Returns: This entry's checksum.
Returns: An array of TarEntry's for this entry's children.
Returns: This entry's file.
Deprecated: Use getGroupID() instead
Get this entry's group id.Returns: This entry's group id.
See Also: getGroupID
Returns: This entry's group id.
Returns: This entry's group name.
Returns: This entry's mode.
Returns: The ModTime value
Returns: This entry's name.
Returns: This entry's file size.
Deprecated: Use getUserID() instead
Get this entry's user id.Returns: This entry's user id.
See Also: getUserID
Returns: This entry's user id.
Returns: This entry's user name.
Parameters: desc Entry to be checked as a descendent of
Returns: True if entry is a descendant of
Returns: True if this entry is a directory.
Returns: true if this is a long name extension provided by GNU tar
Parameters: header The tar entry header buffer to get information from.
Deprecated: Use setGroupID() instead
Set this entry's group id.Parameters: groupId This entry's new group id.
See Also: TarEntry
Parameters: groupId This entry's new group id.
Parameters: groupName This entry's new group name.
Parameters: mode The new Mode value
Parameters: time This entry's new modification time.
Parameters: time This entry's new modification time.
Parameters: name This entry's new name.
Parameters: size This entry's new file size.
Deprecated: Use setUserID() instead
Set this entry's user id.Parameters: userId This entry's new user id.
See Also: TarEntry
Parameters: userId This entry's new user id.
Parameters: userName This entry's new user name.
Parameters: buffer The tar entry header buffer to fill in.