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.
    • 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
      • 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
      • parseFromCentralDirectoryData

        public void parseFromCentralDirectoryData​(byte[] buffer,
                                                  int offset,
                                                  int length)
                                           throws java.util.zip.ZipException
        Doesn't do anything special since this class always uses the same data in central directory and local file data.
        Specified by:
        parseFromCentralDirectoryData in interface ZipExtraField
        Parameters:
        buffer - the buffer to read data from
        offset - offset into buffer to read data
        length - the length of data
        Throws:
        java.util.zip.ZipException - on error