This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


java.util.jar
interface Pack200.Unpacker


Most common way to construct:

Pack200.Unpacker unpacker = Pack200.newUnpacker();

Based on 12 examples


public static interface Pack200.Unpacker

The unpacker engine converts the packed stream to a JAR file. An instance of the engine can be obtained using {@link #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.


Field Summary
static String DEFLATE_HINT
          Property indicating that the unpacker should ignore all transmitted values for DEFLATE_HINT, replacing them by the given value, java.util.jar.Pack200.Unpacker.TRUE or java.util.jar.Pack200.Unpacker.FALSE.
static String FALSE
          The string "false", a possible value for certain properties.
static String KEEP
          The string "keep", a possible value for certain properties.
static String PROGRESS
          The unpacker's progress as a percentage, as periodically updated by the unpacker.
static String TRUE
          The string "true", a possible value for certain properties.
 
Method Summary
 void

          Registers a listener for PropertyChange events on the properties map.
 SortedMap

          Get the set of this engine's properties.
 void

          Remove a listener for PropertyChange events, added by the java.util.jar.Pack200.Unpacker.addPropertyChangeListener.
 void

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

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

Field Detail

DEFLATE_HINT

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, {@link #TRUE} or {@link #FALSE}. The default value is the special string {@link #KEEP}, which asks the unpacker to preserve all transmitted deflation hints.

FALSE

public static final String FALSE
The string "false", a possible value for certain properties.

KEEP

public static final String KEEP
The string "keep", a possible value for certain properties.

PROGRESS

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 {@link PropertyChangeListener}.

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


TRUE

public static final String TRUE
The string "true", a possible value for certain properties.
Method Detail

addPropertyChangeListener

public 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.

properties

public SortedMap 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.

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
Remove a listener for PropertyChange events, added by the {@link #addPropertyChangeListener}.

Parameters:
listener - The PropertyChange listener to be removed.

unpack

public void unpack(File in,
                   JarOutputStream out)
            throws IOException
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.

unpack

public void unpack(InputStream in,
                   JarOutputStream out)
            throws IOException
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.


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.