public static interface

Pack200.Unpacker

java.util.jar.Pack200.Unpacker
Known Indirect Subclasses

Class Overview

The unpacker engine converts the packed stream to a JAR file. An instance of the engine can be obtained using newUnpacker().

Every JAR file produced by this engine will include the string "PACK200" as a zip file comment. This allows a deployer to detect if a JAR archive was packed and unpacked.

This version of the unpacker is compatible with all previous versions.

Summary

Constants
String DEFLATE_HINT Property indicating that the unpacker should ignore all transmitted values for DEFLATE_HINT, replacing them by the given value, TRUE or FALSE.
String FALSE The string "false", a possible value for certain properties.
String KEEP The string "keep", a possible value for certain properties.
String PROGRESS The unpacker's progress as a percentage, as periodically updated by the unpacker.
String TRUE The string "true", a possible value for certain properties.
Public Methods
abstract void addPropertyChangeListener(PropertyChangeListener listener)
Registers a listener for PropertyChange events on the properties map.
abstract SortedMap<StringString> properties()
Get the set of this engine's properties.
abstract void removePropertyChangeListener(PropertyChangeListener listener)
Remove a listener for PropertyChange events, added by the addPropertyChangeListener(PropertyChangeListener).
abstract void unpack(InputStream in, JarOutputStream out)
Read a Pack200 archive, and write the encoded JAR to a JarOutputStream.
abstract void unpack(File in, JarOutputStream out)
Read a Pack200 archive, and write the encoded JAR to a JarOutputStream.

Constants

public static final String DEFLATE_HINT

Property indicating that the unpacker should ignore all transmitted values for DEFLATE_HINT, replacing them by the given value, TRUE or FALSE. The default value is the special string KEEP, which asks the unpacker to preserve all transmitted deflation hints.

Constant Value: "unpack.deflate.hint"

public static final String FALSE

The string "false", a possible value for certain properties.

See Also
Constant Value: "false"

public static final String KEEP

The string "keep", a possible value for certain properties.

See Also
Constant Value: "keep"

public static final String PROGRESS

The unpacker's progress as a percentage, as periodically updated by the unpacker. Values of 0 - 100 are normal, and -1 indicates a stall. Observe this property with a PropertyChangeListener.

At a minimum, the unpacker must set progress to 0 at the beginning of a packing operation, and to 100 at the end.

Constant Value: "unpack.progress"

public static final String TRUE

The string "true", a possible value for certain properties.

See Also
Constant Value: "true"

Public Methods

public abstract void addPropertyChangeListener (PropertyChangeListener listener)

Registers a listener for PropertyChange events on the properties map. This is typically used by applications to update a progress bar.

Parameters
listener An object to be invoked when a property is changed.

public abstract SortedMap<StringString> properties ()

Get the set of this engine's properties. This set is a "live view", so that changing its contents immediately affects the Packer engine, and changes from the engine (such as progress indications) are immediately visible in the map.

The property map may contain pre-defined implementation specific and default properties. Users are encouraged to read the information and fully understand the implications, before modifying pre-existing properties.

Implementation specific properties are prefixed with a package name associated with the implementor, beginning with com. or a similar prefix. All property names beginning with pack. and unpack. are reserved for use by this API.

Unknown properties may be ignored or rejected with an unspecified error, and invalid entries may cause an unspecified error to be thrown.

Returns
  • A sorted association of option key strings to option values.

public abstract void removePropertyChangeListener (PropertyChangeListener listener)

Remove a listener for PropertyChange events, added by the addPropertyChangeListener(PropertyChangeListener).

Parameters
listener The PropertyChange listener to be removed.

public abstract void unpack (InputStream in, JarOutputStream out)

Read a Pack200 archive, and write the encoded JAR to a JarOutputStream. The entire contents of the input stream will be read. It may be more efficient to read the Pack200 archive to a file and pass the File object, using the alternate method described below.

Closes its input but not its output. (The output can accumulate more elements.)

Parameters
in an InputStream.
out a JarOutputStream.
Throws
IOException if an error is encountered.

public abstract void unpack (File in, JarOutputStream out)

Read a Pack200 archive, and write the encoded JAR to a JarOutputStream.

Does not close its output. (The output can accumulate more elements.)

Parameters
in a File.
out a JarOutputStream.
Throws
IOException if an error is encountered.