This interface defines the API for an
object that can convert a JAR file to an output stream in Pack200 (or
gzipped Pack200) format. Obtain a Packer object
with the Pack200.newPacker( ) factory method.
Configure the packer before using it by setting properties in the
Map returned by the properties(
) method. The constants defined by this class represent the
names (and in some cases values) of properties that can be set. Pack
a JAR file by passing JarFile or
JarInputStream to a pack( )
method along with the byte output stream to which the packed
representation should be written. You can monitor the progress of the
packer engine by querying the PROGRESS property in
the properties( ) map. The value is the completion
percentage as an integer between 0 and 100 (or -1 to indicate a stall
or error.) If you want to be notified of changes to the
PROGRESS property, register a
java.beans.PropertyChangeListener with
addPropertyChangeListener( ). See also the
pack200 command in Chapter 8.
public interface Pack200.Packer {
// Public Constants
public static final String CLASS_ATTRIBUTE_PFX; ="pack.class.attribute."
public static final String CODE_ATTRIBUTE_PFX; ="pack.code.attribute."
public static final String DEFLATE_HINT; ="pack.deflate.hint"
public static final String EFFORT; ="pack.effort"
public static final String ERROR; ="error"
public static final String FALSE; ="false"
public static final String FIELD_ATTRIBUTE_PFX; ="pack.field.attribute."
public static final String KEEP; ="keep"
public static final String KEEP_FILE_ORDER; ="pack.keep.file.order"
public static final String LATEST; ="latest"
public static final String METHOD_ATTRIBUTE_PFX; ="pack.method.attribute."
public static final String MODIFICATION_TIME; ="pack.modification.time"
public static final String PASS; ="pass"
public static final String PASS_FILE_PFX; ="pack.pass.file."
public static final String PROGRESS; ="pack.progress"
public static final String SEGMENT_LIMIT; ="pack.segment.limit"
public static final String STRIP; ="strip"
public static final String TRUE; ="true"
public static final String UNKNOWN_ATTRIBUTE; ="pack.unknown.attribute"
// Event Registration Methods (by event name)
void addPropertyChangeListener(java.beans.PropertyChangeListener listener);
void removePropertyChangeListener(java.beans.PropertyChangeListener listener);
// Public Instance Methods
void pack(JarInputStream in, java.io.OutputStream out) throws java.io.IOException;
void pack(JarFile in, java.io.OutputStream out) throws java.io.IOException;
java.util.SortedMap<String,String> properties( );
}