public class AsiExtraField extends Object implements ZipExtraField, UnixStat, Cloneable
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.
DEFAULT_DIR_PERM, DEFAULT_FILE_PERM, DEFAULT_LINK_PERM, DIR_FLAG, FILE_FLAG, LINK_FLAG, PERM_MASK
Constructor and Description |
---|
AsiExtraField() |
Modifier and Type | Method and Description |
---|---|
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.
|
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(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.
|
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(String name)
name
- Name of the file this entry links to, empty String
if it is not a symbolic link.public 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 ZipException
parseFromLocalFileData
in interface ZipExtraField
ZipException
protected int getMode(int mode)
Copyright © 2001-2013 Codehaus. All Rights Reserved.