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 filename
taken 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 ZipExtraFieldpublic ZipShort getLocalFileDataLength()
getLocalFileDataLength in interface ZipExtraFieldpublic ZipShort getCentralDirectoryLength()
getCentralDirectoryLength in interface ZipExtraFieldpublic byte[] getLocalFileDataData()
getLocalFileDataData in interface ZipExtraFieldpublic byte[] getCentralDirectoryData()
getCentralDirectoryData in interface ZipExtraFieldpublic 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 ZipExtraFieldZipExceptionprotected int getMode(int mode)
Copyright © 2001-2013 Codehaus. All Rights Reserved.