src/share/classes/java/util/jar/Pack200.java

Print this page




 207      * Also, the unpacker is guaranteed by the JSR 200 specification
 208      * to produce a specific bytewise image for any given transmission
 209      * ordering of archive elements.)
 210      * <p>
 211      * In order to maintain backward compatibility, the pack file's version is
 212      * set to accommodate the class files present in the input JAR file. In
 213      * other words, the pack file version will be the latest, if the class files
 214      * are the latest and conversely the pack file version will be the oldest
 215      * if the class file versions are also the oldest. For intermediate class
 216      * file versions the corresponding pack file version will be used.
 217      * For example:
 218      *    If the input JAR-files are solely comprised of 1.5  (or  lesser)
 219      * class files, a 1.5 compatible pack file is  produced. This will also be
 220      * the case for archives that have no class files.
 221      *    If the input JAR-files contains a 1.6 class file, then the pack file
 222      * version will be set to 1.6.
 223      * <p>
 224      * Note: Unless otherwise noted, passing a <tt>null</tt> argument to a
 225      * constructor or method in this class will cause a {@link NullPointerException}
 226      * to be thrown.
 227      * <p>
 228      * @since 1.5
 229      */
 230     public interface Packer {
 231         /**
 232          * This property is a numeral giving the estimated target size N
 233          * (in bytes) of each archive segment.
 234          * If a single input file requires more than N bytes,
 235          * it will be given its own archive segment.
 236          * <p>
 237          * As a special case, a value of -1 will produce a single large
 238          * segment with all input files, while a value of 0 will
 239          * produce one segment for each class.
 240          * Larger archive segments result in less fragmentation and
 241          * better compression, but processing them requires more memory.
 242          * <p>
 243          * The size of each segment is estimated by counting the size of each
 244          * input file to be transmitted in the segment, along with the size
 245          * of its name and other transmitted properties.
 246          * <p>
 247          * The default is -1, which means the packer will always create a single




 207      * Also, the unpacker is guaranteed by the JSR 200 specification
 208      * to produce a specific bytewise image for any given transmission
 209      * ordering of archive elements.)
 210      * <p>
 211      * In order to maintain backward compatibility, the pack file's version is
 212      * set to accommodate the class files present in the input JAR file. In
 213      * other words, the pack file version will be the latest, if the class files
 214      * are the latest and conversely the pack file version will be the oldest
 215      * if the class file versions are also the oldest. For intermediate class
 216      * file versions the corresponding pack file version will be used.
 217      * For example:
 218      *    If the input JAR-files are solely comprised of 1.5  (or  lesser)
 219      * class files, a 1.5 compatible pack file is  produced. This will also be
 220      * the case for archives that have no class files.
 221      *    If the input JAR-files contains a 1.6 class file, then the pack file
 222      * version will be set to 1.6.
 223      * <p>
 224      * Note: Unless otherwise noted, passing a <tt>null</tt> argument to a
 225      * constructor or method in this class will cause a {@link NullPointerException}
 226      * to be thrown.
 227      *
 228      * @since 1.5
 229      */
 230     public interface Packer {
 231         /**
 232          * This property is a numeral giving the estimated target size N
 233          * (in bytes) of each archive segment.
 234          * If a single input file requires more than N bytes,
 235          * it will be given its own archive segment.
 236          * <p>
 237          * As a special case, a value of -1 will produce a single large
 238          * segment with all input files, while a value of 0 will
 239          * produce one segment for each class.
 240          * Larger archive segments result in less fragmentation and
 241          * better compression, but processing them requires more memory.
 242          * <p>
 243          * The size of each segment is estimated by counting the size of each
 244          * input file to be transmitted in the segment, along with the size
 245          * of its name and other transmitted properties.
 246          * <p>
 247          * The default is -1, which means the packer will always create a single