Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.util.jar
Interface Pack200.Unpacker

Enclosing class:
  Pack200

    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 `Pack200.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.

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, `TRUE` or `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` | `addPropertyChangeListener(PropertyChangeListener listener)` Registers a listener for PropertyChange events on the properties map.
`SortedMap<String,String>` | `properties()` Get the set of this engine's properties.
`void` | `removePropertyChangeListener(PropertyChangeListener listener)` Remove a listener for PropertyChange events, added by the `addPropertyChangeListener(java.beans.PropertyChangeListener)`.
`void` | `unpack(File in, JarOutputStream out)` Read a Pack200 archive, and write the encoded JAR to a JarOutputStream.
`void` | `unpack(InputStream in, JarOutputStream out)` Read a Pack200 archive, and write the encoded JAR to a JarOutputStream.

Field Detail

### KEEP

    static final String KEEP

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

  See Also:
    `DEFLATE_HINT`, Constant Field Values

### TRUE

    static final String TRUE

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

  See Also:
    `DEFLATE_HINT`, Constant Field Values

### FALSE

    static final String FALSE

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

  See Also:
    `DEFLATE_HINT`, Constant Field Values

### DEFLATE_HINT

    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.

  See Also:
    Constant Field Values

### PROGRESS

    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.

  See Also:
    `addPropertyChangeListener(java.beans.PropertyChangeListener)`, Constant Field Values

Method Detail

### properties

    SortedMap<String,String> 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.

### unpack

    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.

### unpack

    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.

### addPropertyChangeListener

    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.
  See Also:
    `properties()`, `PROGRESS`

### removePropertyChangeListener

    void removePropertyChangeListener(PropertyChangeListener listener)

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

  Parameters:
    `listener` - The PropertyChange listener to be removed.
  See Also:
    `addPropertyChangeListener(java.beans.PropertyChangeListener)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.