| 
 | ||||||||||
| 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 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.
| 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 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(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 ZipExtraFieldjava.util.zip.ZipExceptionprotected int getMode(int mode)
| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||