Class X000A_NTFS
- java.lang.Object
 - 
- org.apache.commons.compress.archivers.zip.X000A_NTFS
 
 
- 
- All Implemented Interfaces:
 ZipExtraField
public class X000A_NTFS extends java.lang.Object implements ZipExtraField
NTFS extra field that was thought to store various attributes but in reality only stores timestamps.4.5.5 -NTFS Extra Field (0x000a): The following is the layout of the NTFS attributes "extra" block. (Note: At this time the Mtime, Atime and Ctime values MAY be used on any WIN32 system.) Note: all fields stored in Intel low-byte/high-byte order. Value Size Description ----- ---- ----------- (NTFS) 0x000a 2 bytes Tag for this "extra" block type TSize 2 bytes Size of the total "extra" block Reserved 4 bytes Reserved for future use Tag1 2 bytes NTFS attribute tag value #1 Size1 2 bytes Size of attribute #1, in bytes (var) Size1 Attribute #1 data . . . TagN 2 bytes NTFS attribute tag value #N SizeN 2 bytes Size of attribute #N, in bytes (var) SizeN Attribute #N data For NTFS, values for Tag1 through TagN are as follows: (currently only one set of attributes is defined for NTFS) Tag Size Description ----- ---- ----------- 0x0001 2 bytes Tag for attribute #1 Size1 2 bytes Size of attribute #1, in bytes Mtime 8 bytes File last modification time Atime 8 bytes File last access time Ctime 8 bytes File creation time- Since:
 - 1.11
 
 
- 
- 
Field Summary
- 
Fields inherited from interface org.apache.commons.compress.archivers.zip.ZipExtraField
EXTRAFIELD_HEADER_SIZE 
 - 
 
- 
Constructor Summary
Constructors Constructor Description X000A_NTFS() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)java.util.DategetAccessJavaTime()Returns the access time as a java.util.Date of this zip entry, or null if no such timestamp exists in the zip entry.ZipEightByteIntegergetAccessTime()Returns the "File last access time" of this zip entry as a ZipEightByteInteger object, orZipEightByteInteger.ZEROif no such timestamp exists in the zip entry.byte[]getCentralDirectoryData()The actual data to put into central directory data - without Header-ID or length specifier.ZipShortgetCentralDirectoryLength()Length of the extra field in the local file data - without Header-ID or length specifier.java.util.DategetCreateJavaTime()Returns the create time as a a java.util.Date of this zip entry, or null if no such timestamp exists in the zip entry.ZipEightByteIntegergetCreateTime()Returns the "File creation time" of this zip entry as a ZipEightByteInteger object, orZipEightByteInteger.ZEROif no such timestamp exists in the zip entry.ZipShortgetHeaderId()The Header-ID.byte[]getLocalFileDataData()The actual data to put into local file data - without Header-ID or length specifier.ZipShortgetLocalFileDataLength()Length of the extra field in the local file data - without Header-ID or length specifier.java.util.DategetModifyJavaTime()Returns the modify time as a java.util.Date of this zip entry, or null if no such timestamp exists in the zip entry.ZipEightByteIntegergetModifyTime()Returns the "File last modification time" of this zip entry as a ZipEightByteInteger object, orZipEightByteInteger.ZEROif no such timestamp exists in the zip entry.inthashCode()voidparseFromCentralDirectoryData(byte[] buffer, int offset, int length)Doesn't do anything special since this class always uses the same parsing logic for both central directory and local file data.voidparseFromLocalFileData(byte[] data, int offset, int length)Populate data from this array as if it was in local file data.voidsetAccessJavaTime(java.util.Date d)Sets the access time as a java.util.Date of this zip entry.voidsetAccessTime(ZipEightByteInteger t)Sets the File last access time of this zip entry using a ZipEightByteInteger object.voidsetCreateJavaTime(java.util.Date d)Sets the create time as a java.util.Date of this zip entry.voidsetCreateTime(ZipEightByteInteger t)Sets the File creation time of this zip entry using a ZipEightByteInteger object.voidsetModifyJavaTime(java.util.Date d)Sets the modify time as a java.util.Date of this zip entry.voidsetModifyTime(ZipEightByteInteger t)Sets the File last modification time of this zip entry using a ZipEightByteInteger object.java.lang.StringtoString()Returns a String representation of this class useful for debugging purposes. 
 - 
 
- 
- 
Method Detail
- 
getHeaderId
public ZipShort getHeaderId()
The Header-ID.- Specified by:
 getHeaderIdin interfaceZipExtraField- Returns:
 - the value for the header id for this extrafield
 
 
- 
getLocalFileDataLength
public ZipShort getLocalFileDataLength()
Length of the extra field in the local file data - without Header-ID or length specifier.- Specified by:
 getLocalFileDataLengthin interfaceZipExtraField- Returns:
 - a 
ZipShortfor the length of the data of this extra field 
 
- 
getCentralDirectoryLength
public ZipShort getCentralDirectoryLength()
Length of the extra field in the local file data - without Header-ID or length specifier.For X5455 the central length is often smaller than the local length, because central cannot contain access or create timestamps.
- Specified by:
 getCentralDirectoryLengthin interfaceZipExtraField- Returns:
 - a 
ZipShortfor the length of the data of this extra field 
 
- 
getLocalFileDataData
public byte[] getLocalFileDataData()
The actual data to put into local file data - without Header-ID or length specifier.- Specified by:
 getLocalFileDataDatain interfaceZipExtraField- Returns:
 - get the data
 
 
- 
getCentralDirectoryData
public byte[] getCentralDirectoryData()
The actual data to put into central directory data - without Header-ID or length specifier.- Specified by:
 getCentralDirectoryDatain interfaceZipExtraField- Returns:
 - the central directory data
 
 
- 
parseFromLocalFileData
public void parseFromLocalFileData(byte[] data, int offset, int length) throws java.util.zip.ZipExceptionPopulate data from this array as if it was in local file data.- Specified by:
 parseFromLocalFileDatain interfaceZipExtraField- Parameters:
 data- an array of bytesoffset- the start offsetlength- the number of bytes in the array from offset- Throws:
 java.util.zip.ZipException- on error
 
- 
parseFromCentralDirectoryData
public void parseFromCentralDirectoryData(byte[] buffer, int offset, int length) throws java.util.zip.ZipExceptionDoesn't do anything special since this class always uses the same parsing logic for both central directory and local file data.- Specified by:
 parseFromCentralDirectoryDatain interfaceZipExtraField- Parameters:
 buffer- the buffer to read data fromoffset- offset into buffer to read datalength- the length of data- Throws:
 java.util.zip.ZipException- on error
 
- 
getModifyTime
public ZipEightByteInteger getModifyTime()
Returns the "File last modification time" of this zip entry as a ZipEightByteInteger object, orZipEightByteInteger.ZEROif no such timestamp exists in the zip entry.- Returns:
 - File last modification time
 
 
- 
getAccessTime
public ZipEightByteInteger getAccessTime()
Returns the "File last access time" of this zip entry as a ZipEightByteInteger object, orZipEightByteInteger.ZEROif no such timestamp exists in the zip entry.- Returns:
 - File last access time
 
 
- 
getCreateTime
public ZipEightByteInteger getCreateTime()
Returns the "File creation time" of this zip entry as a ZipEightByteInteger object, orZipEightByteInteger.ZEROif no such timestamp exists in the zip entry.- Returns:
 - File creation time
 
 
- 
getModifyJavaTime
public java.util.Date getModifyJavaTime()
Returns the modify time as a java.util.Date of this zip entry, or null if no such timestamp exists in the zip entry.- Returns:
 - modify time as java.util.Date or null.
 
 
- 
getAccessJavaTime
public java.util.Date getAccessJavaTime()
Returns the access time as a java.util.Date of this zip entry, or null if no such timestamp exists in the zip entry.- Returns:
 - access time as java.util.Date or null.
 
 
- 
getCreateJavaTime
public java.util.Date getCreateJavaTime()
Returns the create time as a a java.util.Date of this zip entry, or null if no such timestamp exists in the zip entry.- Returns:
 - create time as java.util.Date or null.
 
 
- 
setModifyTime
public void setModifyTime(ZipEightByteInteger t)
Sets the File last modification time of this zip entry using a ZipEightByteInteger object.- Parameters:
 t- ZipEightByteInteger of the modify time
 
- 
setAccessTime
public void setAccessTime(ZipEightByteInteger t)
Sets the File last access time of this zip entry using a ZipEightByteInteger object.- Parameters:
 t- ZipEightByteInteger of the access time
 
- 
setCreateTime
public void setCreateTime(ZipEightByteInteger t)
Sets the File creation time of this zip entry using a ZipEightByteInteger object.- Parameters:
 t- ZipEightByteInteger of the create time
 
- 
setModifyJavaTime
public void setModifyJavaTime(java.util.Date d)
Sets the modify time as a java.util.Date of this zip entry.- Parameters:
 d- modify time as java.util.Date
 
- 
setAccessJavaTime
public void setAccessJavaTime(java.util.Date d)
Sets the access time as a java.util.Date of this zip entry.- Parameters:
 d- access time as java.util.Date
 
- 
setCreateJavaTime
public void setCreateJavaTime(java.util.Date d)
Sets the create time as a java.util.Date of this zip entry. Supplied value is truncated to per-second precision (milliseconds zeroed-out).
Note: the setters for flags and timestamps are decoupled. Even if the timestamp is not-null, it will only be written out if the corresponding bit in the flags is also set.
- Parameters:
 d- create time as java.util.Date
 
- 
toString
public java.lang.String toString()
Returns a String representation of this class useful for debugging purposes.- Overrides:
 toStringin classjava.lang.Object- Returns:
 - A String representation of this class useful for debugging purposes.
 
 
- 
equals
public boolean equals(java.lang.Object o)
- Overrides:
 equalsin classjava.lang.Object
 
- 
hashCode
public int hashCode()
- Overrides:
 hashCodein classjava.lang.Object
 
 - 
 
 -