|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.vfs.provider.tar.TarEntry
class TarEntry
This class represents an entry in a Tar archive. It consists of the entry's header, as well as the entry's File. Entries can be instantiated in one of three ways, depending on how they are to be used.
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;
TarInputStream
,
TarOutputStream
Field Summary | |
---|---|
private int |
m_checkSum
The entry's modification time. |
private int |
m_devMajor
The entry's group name. |
private int |
m_devMinor
The entry's major device number. |
private java.io.File |
m_file
The entry's minor device number. |
private int |
m_groupID
The entry's user id. |
private java.lang.StringBuffer |
m_groupName
The entry's user name. |
private byte |
m_linkFlag
The entry's checksum. |
private java.lang.StringBuffer |
m_linkName
The entry's link flag. |
private java.lang.StringBuffer |
m_magic
The entry's link name. |
private int |
m_mode
The entry's name. |
private long |
m_modTime
The entry's size. |
private java.lang.StringBuffer |
m_name
|
private long |
m_size
The entry's group id. |
private int |
m_userID
The entry's permission mode. |
private java.lang.StringBuffer |
m_userName
The entry's magic tag. |
static int |
NAMELEN
The length of the name field in a header buffer. |
Constructor Summary | |
---|---|
private |
TarEntry()
Construct an empty entry and prepares the header values. |
(package private) |
TarEntry(byte[] header)
Construct an entry from an archive's header bytes. |
(package private) |
TarEntry(java.io.File file)
Construct an entry for a file. |
(package private) |
TarEntry(java.lang.String name)
Construct an entry with only a name. |
(package private) |
TarEntry(java.lang.String name,
byte linkFlag)
Construct an entry with a name an a link flag. |
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. |
java.io.File |
getFile()
Get this entry's file. |
int |
getGroupId()
Deprecated. Use getGroupID() instead |
int |
getGroupID()
Get this entry's group id. |
java.lang.String |
getGroupName()
Get this entry's group name. |
int |
getMode()
Get this entry's mode. |
java.util.Date |
getModTime()
Set this entry's modification time. |
java.lang.String |
getName()
Get this entry's name. |
long |
getSize()
Get this entry's file size. |
int |
getUserId()
Deprecated. Use getUserID() instead |
int |
getUserID()
Get this entry's user id. |
java.lang.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 |
private void |
parseTarHeader(byte[] header)
Parse an entry's header information from a header buffer. |
void |
setGroupId(int groupId)
Deprecated. Use setGroupID() instead |
void |
setGroupID(int groupId)
Set this entry's group id. |
void |
setGroupName(java.lang.String groupName)
Set this entry's group name. |
void |
setMode(int mode)
Set the mode for this entry |
void |
setModTime(java.util.Date time)
Set this entry's modification time. |
void |
setModTime(long time)
Set this entry's modification time. |
void |
setName(java.lang.String name)
Set this entry's name. |
void |
setSize(long size)
Set this entry's file size. |
void |
setUserId(int userId)
Deprecated. Use setUserID() instead |
void |
setUserID(int userId)
Set this entry's user id. |
void |
setUserName(java.lang.String userName)
Set this entry's user name. |
void |
writeEntryHeader(byte[] buffer)
Write an entry's header information to a header buffer. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int NAMELEN
private int m_checkSum
private int m_devMajor
private int m_devMinor
private java.io.File m_file
private int m_groupID
private java.lang.StringBuffer m_groupName
private byte m_linkFlag
private java.lang.StringBuffer m_linkName
private java.lang.StringBuffer m_magic
private long m_modTime
private int m_mode
private java.lang.StringBuffer m_name
private long m_size
private int m_userID
private java.lang.StringBuffer m_userName
Constructor Detail |
---|
TarEntry(java.lang.String name)
name
- the name of the entryTarEntry(java.lang.String name, byte linkFlag)
name
- Description of ParameterlinkFlag
- Description of ParameterTarEntry(java.io.File file)
file
- The file that the entry represents.TarEntry(byte[] header)
header
- The header bytes from a tar archive entry.private TarEntry()
Method Detail |
---|
public void setGroupID(int groupId)
groupId
- This entry's new group id.public void setGroupId(int groupId)
groupId
- This entry's new group id.setGroupID(int)
public void setGroupName(java.lang.String groupName)
groupName
- This entry's new group name.public void setModTime(long time)
time
- This entry's new modification time.public void setModTime(java.util.Date time)
time
- This entry's new modification time.public void setMode(int mode)
mode
- The new Mode valuepublic void setName(java.lang.String name)
name
- This entry's new name.public void setSize(long size)
size
- This entry's new file size.public void setUserID(int userId)
userId
- This entry's new user id.public void setUserId(int userId)
userId
- This entry's new user id.setUserID(int)
public void setUserName(java.lang.String userName)
userName
- This entry's new user name.public TarEntry[] getDirectoryEntries()
public java.io.File getFile()
public int getGroupId()
getGroupID()
public int getGroupID()
public java.lang.String getGroupName()
public java.util.Date getModTime()
public int getMode()
public java.lang.String getName()
public long getSize()
public int getCheckSum()
public int getUserId()
getUserID()
public int getUserID()
public java.lang.String getUserName()
public boolean isDescendent(TarEntry desc)
desc
- Entry to be checked as a descendent of
public boolean isDirectory()
public boolean isGNULongNameEntry()
public boolean equals(TarEntry other)
other
- Entry to be checked for equality.
private void parseTarHeader(byte[] header)
header
- The tar entry header buffer to get information from.public void writeEntryHeader(byte[] buffer)
buffer
- The tar entry header buffer to fill in.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |