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
|