ru.protek.component.xzip
Class XZipEntry

java.lang.Object
  extended by ru.protek.component.xzip.XZipEntry
All Implemented Interfaces:
java.lang.Cloneable, XZipConstants

public class XZipEntry
extends java.lang.Object
implements XZipConstants, java.lang.Cloneable

This class is used to represent a ZIP file entry.


Field Summary
(package private)  java.lang.String comment
           
(package private)  long crc
           
(package private)  long csize
           
static int DEFLATED
          Compression method for compressed (deflated) entries.
(package private)  byte[] extra
           
(package private)  int flag
           
(package private)  int method
           
(package private)  java.lang.String name
           
(package private)  long offset
           
(package private)  long size
           
static int STORED
          Compression method for uncompressed entries.
(package private)  long time
           
(package private)  int version
           
 
Fields inherited from interface ru.protek.component.xzip.XZipConstants
CENATT, CENATX, CENCOM, CENCRC, CENDSK, CENEXT, CENFLG, CENHDR, CENHOW, CENLEN, CENNAM, CENOFF, CENSIG, CENSIZ, CENTIM, CENVEM, CENVER, ENDCOM, ENDHDR, ENDOFF, ENDSIG, ENDSIZ, ENDSUB, ENDTOT, EXTCRC, EXTHDR, EXTLEN, EXTSIG, EXTSIZ, LOCCRC, LOCEXT, LOCFLG, LOCHDR, LOCHOW, LOCLEN, LOCNAM, LOCSIG, LOCSIZ, LOCTIM, LOCVER
 
Constructor Summary
XZipEntry(long jzentry)
           
XZipEntry(java.lang.String name)
          Creates a new zip entry with the specified name.
XZipEntry(java.lang.String name, long jzentry)
           
XZipEntry(XZipEntry e)
          Creates a new zip entry with fields taken from the specified zip entry.
 
Method Summary
 java.lang.Object clone()
          Returns a copy of this entry.
 java.lang.String getComment()
          Returns the comment string for the entry, or null if none.
 long getCompressedSize()
          Returns the size of the compressed entry data, or -1 if not known.
 long getCrc()
          Returns the CRC-32 checksum of the uncompressed entry data, or -1 if not known.
 byte[] getExtra()
          Returns the extra field data for the entry, or null if none.
 int getMethod()
          Returns the compression method of the entry, or -1 if not specified.
 java.lang.String getName()
          Returns the name of the entry.
 long getSize()
          Returns the uncompressed size of the entry data, or -1 if not known.
 long getTime()
          Returns the modification time of the entry, or -1 if not specified.
 int hashCode()
          Returns the hash code value for this entry.
 boolean isDirectory()
          Returns true if this is a directory entry.
 void setComment(java.lang.String comment)
          Sets the optional comment string for the entry.
 void setCompressedSize(long csize)
          Sets the size of the compressed entry data.
 void setCrc(long crc)
          Sets the CRC-32 checksum of the uncompressed entry data.
 void setExtra(byte[] extra)
          Sets the optional extra field data for the entry.
 void setMethod(int method)
          Sets the compression method for the entry.
 void setSize(long size)
          Sets the uncompressed size of the entry data.
 void setTime(long time)
          Sets the modification time of the entry.
 java.lang.String toString()
          Returns a string representation of the ZIP entry.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

name

java.lang.String name

time

long time

crc

long crc

size

long size

csize

long csize

method

int method

extra

byte[] extra

comment

java.lang.String comment

flag

int flag

version

int version

offset

long offset

STORED

public static final int STORED
Compression method for uncompressed entries.

See Also:
Constant Field Values

DEFLATED

public static final int DEFLATED
Compression method for compressed (deflated) entries.

See Also:
Constant Field Values
Constructor Detail

XZipEntry

public XZipEntry(java.lang.String name)
Creates a new zip entry with the specified name.

Parameters:
name - the entry name
Throws:
java.lang.NullPointerException - if the entry name is null
java.lang.IllegalArgumentException - if the entry name is longer than 0xFFFF bytes

XZipEntry

public XZipEntry(XZipEntry e)
Creates a new zip entry with fields taken from the specified zip entry.

Parameters:
e - a zip Entry object

XZipEntry

XZipEntry(java.lang.String name,
          long jzentry)

XZipEntry

XZipEntry(long jzentry)
Method Detail

getName

public java.lang.String getName()
Returns the name of the entry.

Returns:
the name of the entry

setTime

public void setTime(long time)
Sets the modification time of the entry.

Parameters:
time - the entry modification time in number of milliseconds since the epoch
See Also:
getTime()

getTime

public long getTime()
Returns the modification time of the entry, or -1 if not specified.

Returns:
the modification time of the entry, or -1 if not specified
See Also:
setTime(long)

setSize

public void setSize(long size)
Sets the uncompressed size of the entry data.

Parameters:
size - the uncompressed size in bytes
Throws:
java.lang.IllegalArgumentException - if the specified size is less than 0 or greater than 0xFFFFFFFF bytes
See Also:
getSize()

getSize

public long getSize()
Returns the uncompressed size of the entry data, or -1 if not known.

Returns:
the uncompressed size of the entry data, or -1 if not known
See Also:
setSize(long)

getCompressedSize

public long getCompressedSize()
Returns the size of the compressed entry data, or -1 if not known. In the case of a stored entry, the compressed size will be the same as the uncompressed size of the entry.

Returns:
the size of the compressed entry data, or -1 if not known
See Also:
setCompressedSize(long)

setCompressedSize

public void setCompressedSize(long csize)
Sets the size of the compressed entry data.

Parameters:
csize - the compressed size to set to
See Also:
getCompressedSize()

setCrc

public void setCrc(long crc)
Sets the CRC-32 checksum of the uncompressed entry data.

Parameters:
crc - the CRC-32 value
Throws:
java.lang.IllegalArgumentException - if the specified CRC-32 value is less than 0 or greater than 0xFFFFFFFF
See Also:
setCrc(long)

getCrc

public long getCrc()
Returns the CRC-32 checksum of the uncompressed entry data, or -1 if not known.

Returns:
the CRC-32 checksum of the uncompressed entry data, or -1 if not known
See Also:
getCrc()

setMethod

public void setMethod(int method)
Sets the compression method for the entry.

Parameters:
method - the compression method, either STORED or DEFLATED
Throws:
java.lang.IllegalArgumentException - if the specified compression method is invalid
See Also:
getMethod()

getMethod

public int getMethod()
Returns the compression method of the entry, or -1 if not specified.

Returns:
the compression method of the entry, or -1 if not specified
See Also:
setMethod(int)

setExtra

public void setExtra(byte[] extra)
Sets the optional extra field data for the entry.

Parameters:
extra - the extra field data bytes
Throws:
java.lang.IllegalArgumentException - if the length of the specified extra field data is greater than 0xFFFF bytes
See Also:
getExtra()

getExtra

public byte[] getExtra()
Returns the extra field data for the entry, or null if none.

Returns:
the extra field data for the entry, or null if none
See Also:
setExtra(byte[])

setComment

public void setComment(java.lang.String comment)
Sets the optional comment string for the entry.

Parameters:
comment - the comment string
Throws:
java.lang.IllegalArgumentException - if the length of the specified comment string is greater than 0xFFFF bytes
See Also:
getComment()

getComment

public java.lang.String getComment()
Returns the comment string for the entry, or null if none.

Returns:
the comment string for the entry, or null if none
See Also:
setComment(String)

isDirectory

public boolean isDirectory()
Returns true if this is a directory entry. A directory entry is defined to be one whose name ends with a '/'.

Returns:
true if this is a directory entry

toString

public java.lang.String toString()
Returns a string representation of the ZIP entry.

Overrides:
toString in class java.lang.Object

hashCode

public int hashCode()
Returns the hash code value for this entry.

Overrides:
hashCode in class java.lang.Object

clone

public java.lang.Object clone()
Returns a copy of this entry.

Overrides:
clone in class java.lang.Object