Class 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

      Constructors 
      Constructor Description
      JarMarker()
      No-arg constructor
    • Method Summary

      Modifier and Type Method Description
      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.
      • 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