org.apache.tools.zip
Class JarMarker

java.lang.Object
  extended by org.apache.tools.zip.JarMarker
All Implemented Interfaces:
ZipExtraField

public final class JarMarker
extends java.lang.Object
implements ZipExtraField

If this extra field is added as the very first extra field of the archive, Solaris will consider it an executable jar file.

Since:
Ant 1.6.3

Constructor Summary
JarMarker()
          No-arg constructor
 
Method Summary
 byte[] getCentralDirectoryData()
          The actual data to put central directory - without Header-ID or length specifier.
 ZipShort getCentralDirectoryLength()
          Length of the extra field in the central directory - without Header-ID or length specifier.
 ZipShort getHeaderId()
          The Header-ID.
static JarMarker getInstance()
          Since JarMarker is stateless we can always use the same instance.
 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.
 void parseFromLocalFileData(byte[] data, int offset, int length)
          Populate data from this array as if it was in local file data.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JarMarker

public JarMarker()
No-arg constructor

Method Detail

getInstance

public static JarMarker getInstance()
Since JarMarker is stateless we can always use the same instance.

Returns:
the DEFAULT jarmaker.

getHeaderId

public ZipShort getHeaderId()
The Header-ID.

Specified by:
getHeaderId in interface ZipExtraField
Returns:
the header id

getLocalFileDataLength

public ZipShort getLocalFileDataLength()
Length of the extra field in the local file data - without Header-ID or length specifier.

Specified by:
getLocalFileDataLength in interface ZipExtraField
Returns:
0

getCentralDirectoryLength

public ZipShort getCentralDirectoryLength()
Length of the extra field in the central directory - without Header-ID or length specifier.

Specified by:
getCentralDirectoryLength in interface ZipExtraField
Returns:
0

getLocalFileDataData

public byte[] getLocalFileDataData()
The actual data to put into local file data - without Header-ID or length specifier.

Specified by:
getLocalFileDataData in interface ZipExtraField
Returns:
the data
Since:
1.1

getCentralDirectoryData

public byte[] getCentralDirectoryData()
The actual data to put central directory - without Header-ID or length specifier.

Specified by:
getCentralDirectoryData in interface ZipExtraField
Returns:
the data

parseFromLocalFileData

public void parseFromLocalFileData(byte[] data,
                                   int offset,
                                   int length)
                            throws java.util.zip.ZipException
Populate data from this array as if it was in local file data.

Specified by:
parseFromLocalFileData in interface ZipExtraField
Parameters:
data - an array of bytes
offset - the start offset
length - the number of bytes in the array from offset
Throws:
java.util.zip.ZipException - on error