|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.tools.zip.AsiExtraField
Adds Unix file permission and UID/GID fields as well as symbolic link handling.
This class uses the ASi extra field in the format:
Value Size Description ----- ---- ----------- (Unix3) 0x756e Short tag for this extra block type TSize Short total data size for this block CRC Long CRC-32 of the remaining data Mode Short file permissions SizDev Long symlink'd size OR major/minor dev num UID Short user ID GID Short group ID (var.) variable symbolic link filenametaken from appnote.iz (Info-ZIP note, 981119) found at ftp://ftp.uu.net/pub/archiving/zip/doc/
Short is two bytes and Long is four bytes in big endian byte and word order, device numbers are currently not supported.
Field Summary |
Fields inherited from interface org.apache.tools.zip.UnixStat |
DEFAULT_DIR_PERM, DEFAULT_FILE_PERM, DEFAULT_LINK_PERM, DIR_FLAG, FILE_FLAG, LINK_FLAG, PERM_MASK |
Constructor Summary | |
AsiExtraField()
|
Method Summary | |
byte[] |
getCentralDirectoryData()
Delegate to local file data. |
ZipShort |
getCentralDirectoryLength()
Delegate to local file data. |
int |
getGroupId()
Get the group id. |
ZipShort |
getHeaderId()
The Header-ID. |
java.lang.String |
getLinkedFile()
Name of linked file |
byte[] |
getLocalFileDataData()
The actual data to put into local file data - without Header-ID or length specifier. |
ZipShort |
getLocalFileDataLength()
Length of the extra field in the local file data - without Header-ID or length specifier. |
int |
getMode()
File mode of this file. |
protected int |
getMode(int mode)
Get the file mode for given permissions with the correct file type. |
int |
getUserId()
Get the user id. |
boolean |
isDirectory()
Is this entry a directory? |
boolean |
isLink()
Is this entry a symbolic link? |
void |
parseFromLocalFileData(byte[] data,
int offset,
int length)
Populate data from this array as if it was in local file data. |
void |
setDirectory(boolean dirFlag)
Indicate whether this entry is a directory. |
void |
setGroupId(int gid)
Set the group id. |
void |
setLinkedFile(java.lang.String name)
Indicate that this entry is a symbolic link to the given filename. |
void |
setMode(int mode)
File mode of this file. |
void |
setUserId(int uid)
Set the user id. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public AsiExtraField()
Method Detail |
public ZipShort getHeaderId()
getHeaderId
in interface ZipExtraField
public ZipShort getLocalFileDataLength()
getLocalFileDataLength
in interface ZipExtraField
public ZipShort getCentralDirectoryLength()
getCentralDirectoryLength
in interface ZipExtraField
public byte[] getLocalFileDataData()
getLocalFileDataData
in interface ZipExtraField
public byte[] getCentralDirectoryData()
getCentralDirectoryData
in interface ZipExtraField
public void setUserId(int uid)
public int getUserId()
public void setGroupId(int gid)
public int getGroupId()
public void setLinkedFile(java.lang.String name)
name
- Name of the file this entry links to, empty String
if it is not a symbolic link.public java.lang.String getLinkedFile()
public boolean isLink()
public void setMode(int mode)
public int getMode()
public void setDirectory(boolean dirFlag)
public boolean isDirectory()
public void parseFromLocalFileData(byte[] data, int offset, int length) throws java.util.zip.ZipException
parseFromLocalFileData
in interface ZipExtraField
java.util.zip.ZipException
protected int getMode(int mode)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |