1 *java.util.jar.Pack200.Packer* *Pack200.Packer* The packer engine applies variou
3 public static interface interface Pack200.Packer
6 |java.util.jar.Pack200.Packer_Description|
7 |java.util.jar.Pack200.Packer_Fields|
8 |java.util.jar.Pack200.Packer_Constructors|
9 |java.util.jar.Pack200.Packer_Methods|
11 ================================================================================
13 *java.util.jar.Pack200.Packer_Fields*
14 |java.lang.String_java.util.jar.Pack200.Packer.CLASS_ATTRIBUTE_PFX|
15 |java.lang.String_java.util.jar.Pack200.Packer.CODE_ATTRIBUTE_PFX|
16 |java.lang.String_java.util.jar.Pack200.Packer.DEFLATE_HINT|
17 |java.lang.String_java.util.jar.Pack200.Packer.EFFORT|
18 |java.lang.String_java.util.jar.Pack200.Packer.ERROR|
19 |java.lang.String_java.util.jar.Pack200.Packer.FALSE|
20 |java.lang.String_java.util.jar.Pack200.Packer.FIELD_ATTRIBUTE_PFX|
21 |java.lang.String_java.util.jar.Pack200.Packer.KEEP|
22 |java.lang.String_java.util.jar.Pack200.Packer.KEEP_FILE_ORDER|
23 |java.lang.String_java.util.jar.Pack200.Packer.LATEST|
24 |java.lang.String_java.util.jar.Pack200.Packer.METHOD_ATTRIBUTE_PFX|
25 |java.lang.String_java.util.jar.Pack200.Packer.MODIFICATION_TIME|
26 |java.lang.String_java.util.jar.Pack200.Packer.PASS|
27 |java.lang.String_java.util.jar.Pack200.Packer.PASS_FILE_PFX|
28 |java.lang.String_java.util.jar.Pack200.Packer.PROGRESS|
29 |java.lang.String_java.util.jar.Pack200.Packer.SEGMENT_LIMIT|
30 |java.lang.String_java.util.jar.Pack200.Packer.STRIP|
31 |java.lang.String_java.util.jar.Pack200.Packer.TRUE|
32 |java.lang.String_java.util.jar.Pack200.Packer.UNKNOWN_ATTRIBUTE|
34 *java.util.jar.Pack200.Packer_Methods*
35 |java.util.jar.Pack200.Packer.addPropertyChangeListener(PropertyChangeListener)|
36 |java.util.jar.Pack200.Packer.pack(JarFile,OutputStream)|Takes a JarFile and co
37 |java.util.jar.Pack200.Packer.pack(JarInputStream,OutputStream)|Takes a JarInpu
38 |java.util.jar.Pack200.Packer.properties()|Get the set of this engine's propert
39 |java.util.jar.Pack200.Packer.removePropertyChangeListener(PropertyChangeListener)|
41 *java.util.jar.Pack200.Packer_Description*
43 The packer engine applies various transformations to the input JAR file, making
44 the pack stream highly compressible by a compressor such as gzip or zip. An
45 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
47 The high degree of compression is achieved by using a number of techniques
48 described in the JSR 200 specification. Some of the techniques are sorting,
49 re-ordering and co-location of the constant pool.
51 The pack engine is initialized to an initial state as described by their
52 properties below. The initial state can be manipulated by getting the engine
53 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
54 properties on the map. The resource files will be passed through with no
55 changes at all. The class files will not contain identical bytes, since the
56 unpacker is free to change minor class file features such as constant pool
57 order. However, the class files will be semantically identical, as specified in
58 the Java Virtual Machine Specification
59 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
61 By default, the packer does not change the order of JAR elements. Also, the
62 modification time and deflation hint of each JAR element is passed unchanged.
63 (Any other ZIP-archive information, such as extra attributes giving Unix file
64 permissions, are lost.)
66 Note that packing and unpacking a JAR will in general alter the bytewise
67 contents of classfiles in the JAR. This means that packing and unpacking will
68 in general invalidate any digital signatures which rely on bytewise images of
69 JAR elements. In order both to sign and to pack a JAR, you must first pack and
70 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
71 elements, and finally repack the signed JAR. Both packing steps should use
72 precisely the same options, and the segment limit may also need to be set to
73 "-1", to prevent accidental variation of segment boundaries as class file sizes
76 (Here's why this works: Any reordering the packer does of any classfile
77 structures is idempotent, so the second packing does not change the orderings
78 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
79 specification to produce a specific bytewise image for any given transmission
80 ordering of archive elements.)
83 *java.lang.String_java.util.jar.Pack200.Packer.CLASS_ATTRIBUTE_PFX*
85 The packer engine applies various transformations to the input JAR file, making
86 the pack stream highly compressible by a compressor such as gzip or zip. An
87 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
89 The high degree of compression is achieved by using a number of techniques
90 described in the JSR 200 specification. Some of the techniques are sorting,
91 re-ordering and co-location of the constant pool.
93 The pack engine is initialized to an initial state as described by their
94 properties below. The initial state can be manipulated by getting the engine
95 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
96 properties on the map. The resource files will be passed through with no
97 changes at all. The class files will not contain identical bytes, since the
98 unpacker is free to change minor class file features such as constant pool
99 order. However, the class files will be semantically identical, as specified in
100 the Java Virtual Machine Specification
101 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
103 By default, the packer does not change the order of JAR elements. Also, the
104 modification time and deflation hint of each JAR element is passed unchanged.
105 (Any other ZIP-archive information, such as extra attributes giving Unix file
106 permissions, are lost.)
108 Note that packing and unpacking a JAR will in general alter the bytewise
109 contents of classfiles in the JAR. This means that packing and unpacking will
110 in general invalidate any digital signatures which rely on bytewise images of
111 JAR elements. In order both to sign and to pack a JAR, you must first pack and
112 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
113 elements, and finally repack the signed JAR. Both packing steps should use
114 precisely the same options, and the segment limit may also need to be set to
115 "-1", to prevent accidental variation of segment boundaries as class file sizes
118 (Here's why this works: Any reordering the packer does of any classfile
119 structures is idempotent, so the second packing does not change the orderings
120 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
121 specification to produce a specific bytewise image for any given transmission
122 ordering of archive elements.)
125 *java.lang.String_java.util.jar.Pack200.Packer.CODE_ATTRIBUTE_PFX*
127 The packer engine applies various transformations to the input JAR file, making
128 the pack stream highly compressible by a compressor such as gzip or zip. An
129 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
131 The high degree of compression is achieved by using a number of techniques
132 described in the JSR 200 specification. Some of the techniques are sorting,
133 re-ordering and co-location of the constant pool.
135 The pack engine is initialized to an initial state as described by their
136 properties below. The initial state can be manipulated by getting the engine
137 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
138 properties on the map. The resource files will be passed through with no
139 changes at all. The class files will not contain identical bytes, since the
140 unpacker is free to change minor class file features such as constant pool
141 order. However, the class files will be semantically identical, as specified in
142 the Java Virtual Machine Specification
143 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
145 By default, the packer does not change the order of JAR elements. Also, the
146 modification time and deflation hint of each JAR element is passed unchanged.
147 (Any other ZIP-archive information, such as extra attributes giving Unix file
148 permissions, are lost.)
150 Note that packing and unpacking a JAR will in general alter the bytewise
151 contents of classfiles in the JAR. This means that packing and unpacking will
152 in general invalidate any digital signatures which rely on bytewise images of
153 JAR elements. In order both to sign and to pack a JAR, you must first pack and
154 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
155 elements, and finally repack the signed JAR. Both packing steps should use
156 precisely the same options, and the segment limit may also need to be set to
157 "-1", to prevent accidental variation of segment boundaries as class file sizes
160 (Here's why this works: Any reordering the packer does of any classfile
161 structures is idempotent, so the second packing does not change the orderings
162 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
163 specification to produce a specific bytewise image for any given transmission
164 ordering of archive elements.)
167 *java.lang.String_java.util.jar.Pack200.Packer.DEFLATE_HINT*
169 The packer engine applies various transformations to the input JAR file, making
170 the pack stream highly compressible by a compressor such as gzip or zip. An
171 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
173 The high degree of compression is achieved by using a number of techniques
174 described in the JSR 200 specification. Some of the techniques are sorting,
175 re-ordering and co-location of the constant pool.
177 The pack engine is initialized to an initial state as described by their
178 properties below. The initial state can be manipulated by getting the engine
179 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
180 properties on the map. The resource files will be passed through with no
181 changes at all. The class files will not contain identical bytes, since the
182 unpacker is free to change minor class file features such as constant pool
183 order. However, the class files will be semantically identical, as specified in
184 the Java Virtual Machine Specification
185 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
187 By default, the packer does not change the order of JAR elements. Also, the
188 modification time and deflation hint of each JAR element is passed unchanged.
189 (Any other ZIP-archive information, such as extra attributes giving Unix file
190 permissions, are lost.)
192 Note that packing and unpacking a JAR will in general alter the bytewise
193 contents of classfiles in the JAR. This means that packing and unpacking will
194 in general invalidate any digital signatures which rely on bytewise images of
195 JAR elements. In order both to sign and to pack a JAR, you must first pack and
196 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
197 elements, and finally repack the signed JAR. Both packing steps should use
198 precisely the same options, and the segment limit may also need to be set to
199 "-1", to prevent accidental variation of segment boundaries as class file sizes
202 (Here's why this works: Any reordering the packer does of any classfile
203 structures is idempotent, so the second packing does not change the orderings
204 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
205 specification to produce a specific bytewise image for any given transmission
206 ordering of archive elements.)
209 *java.lang.String_java.util.jar.Pack200.Packer.EFFORT*
211 The packer engine applies various transformations to the input JAR file, making
212 the pack stream highly compressible by a compressor such as gzip or zip. An
213 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
215 The high degree of compression is achieved by using a number of techniques
216 described in the JSR 200 specification. Some of the techniques are sorting,
217 re-ordering and co-location of the constant pool.
219 The pack engine is initialized to an initial state as described by their
220 properties below. The initial state can be manipulated by getting the engine
221 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
222 properties on the map. The resource files will be passed through with no
223 changes at all. The class files will not contain identical bytes, since the
224 unpacker is free to change minor class file features such as constant pool
225 order. However, the class files will be semantically identical, as specified in
226 the Java Virtual Machine Specification
227 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
229 By default, the packer does not change the order of JAR elements. Also, the
230 modification time and deflation hint of each JAR element is passed unchanged.
231 (Any other ZIP-archive information, such as extra attributes giving Unix file
232 permissions, are lost.)
234 Note that packing and unpacking a JAR will in general alter the bytewise
235 contents of classfiles in the JAR. This means that packing and unpacking will
236 in general invalidate any digital signatures which rely on bytewise images of
237 JAR elements. In order both to sign and to pack a JAR, you must first pack and
238 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
239 elements, and finally repack the signed JAR. Both packing steps should use
240 precisely the same options, and the segment limit may also need to be set to
241 "-1", to prevent accidental variation of segment boundaries as class file sizes
244 (Here's why this works: Any reordering the packer does of any classfile
245 structures is idempotent, so the second packing does not change the orderings
246 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
247 specification to produce a specific bytewise image for any given transmission
248 ordering of archive elements.)
251 *java.lang.String_java.util.jar.Pack200.Packer.ERROR*
253 The packer engine applies various transformations to the input JAR file, making
254 the pack stream highly compressible by a compressor such as gzip or zip. An
255 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
257 The high degree of compression is achieved by using a number of techniques
258 described in the JSR 200 specification. Some of the techniques are sorting,
259 re-ordering and co-location of the constant pool.
261 The pack engine is initialized to an initial state as described by their
262 properties below. The initial state can be manipulated by getting the engine
263 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
264 properties on the map. The resource files will be passed through with no
265 changes at all. The class files will not contain identical bytes, since the
266 unpacker is free to change minor class file features such as constant pool
267 order. However, the class files will be semantically identical, as specified in
268 the Java Virtual Machine Specification
269 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
271 By default, the packer does not change the order of JAR elements. Also, the
272 modification time and deflation hint of each JAR element is passed unchanged.
273 (Any other ZIP-archive information, such as extra attributes giving Unix file
274 permissions, are lost.)
276 Note that packing and unpacking a JAR will in general alter the bytewise
277 contents of classfiles in the JAR. This means that packing and unpacking will
278 in general invalidate any digital signatures which rely on bytewise images of
279 JAR elements. In order both to sign and to pack a JAR, you must first pack and
280 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
281 elements, and finally repack the signed JAR. Both packing steps should use
282 precisely the same options, and the segment limit may also need to be set to
283 "-1", to prevent accidental variation of segment boundaries as class file sizes
286 (Here's why this works: Any reordering the packer does of any classfile
287 structures is idempotent, so the second packing does not change the orderings
288 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
289 specification to produce a specific bytewise image for any given transmission
290 ordering of archive elements.)
293 *java.lang.String_java.util.jar.Pack200.Packer.FALSE*
295 The packer engine applies various transformations to the input JAR file, making
296 the pack stream highly compressible by a compressor such as gzip or zip. An
297 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
299 The high degree of compression is achieved by using a number of techniques
300 described in the JSR 200 specification. Some of the techniques are sorting,
301 re-ordering and co-location of the constant pool.
303 The pack engine is initialized to an initial state as described by their
304 properties below. The initial state can be manipulated by getting the engine
305 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
306 properties on the map. The resource files will be passed through with no
307 changes at all. The class files will not contain identical bytes, since the
308 unpacker is free to change minor class file features such as constant pool
309 order. However, the class files will be semantically identical, as specified in
310 the Java Virtual Machine Specification
311 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
313 By default, the packer does not change the order of JAR elements. Also, the
314 modification time and deflation hint of each JAR element is passed unchanged.
315 (Any other ZIP-archive information, such as extra attributes giving Unix file
316 permissions, are lost.)
318 Note that packing and unpacking a JAR will in general alter the bytewise
319 contents of classfiles in the JAR. This means that packing and unpacking will
320 in general invalidate any digital signatures which rely on bytewise images of
321 JAR elements. In order both to sign and to pack a JAR, you must first pack and
322 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
323 elements, and finally repack the signed JAR. Both packing steps should use
324 precisely the same options, and the segment limit may also need to be set to
325 "-1", to prevent accidental variation of segment boundaries as class file sizes
328 (Here's why this works: Any reordering the packer does of any classfile
329 structures is idempotent, so the second packing does not change the orderings
330 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
331 specification to produce a specific bytewise image for any given transmission
332 ordering of archive elements.)
335 *java.lang.String_java.util.jar.Pack200.Packer.FIELD_ATTRIBUTE_PFX*
337 The packer engine applies various transformations to the input JAR file, making
338 the pack stream highly compressible by a compressor such as gzip or zip. An
339 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
341 The high degree of compression is achieved by using a number of techniques
342 described in the JSR 200 specification. Some of the techniques are sorting,
343 re-ordering and co-location of the constant pool.
345 The pack engine is initialized to an initial state as described by their
346 properties below. The initial state can be manipulated by getting the engine
347 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
348 properties on the map. The resource files will be passed through with no
349 changes at all. The class files will not contain identical bytes, since the
350 unpacker is free to change minor class file features such as constant pool
351 order. However, the class files will be semantically identical, as specified in
352 the Java Virtual Machine Specification
353 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
355 By default, the packer does not change the order of JAR elements. Also, the
356 modification time and deflation hint of each JAR element is passed unchanged.
357 (Any other ZIP-archive information, such as extra attributes giving Unix file
358 permissions, are lost.)
360 Note that packing and unpacking a JAR will in general alter the bytewise
361 contents of classfiles in the JAR. This means that packing and unpacking will
362 in general invalidate any digital signatures which rely on bytewise images of
363 JAR elements. In order both to sign and to pack a JAR, you must first pack and
364 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
365 elements, and finally repack the signed JAR. Both packing steps should use
366 precisely the same options, and the segment limit may also need to be set to
367 "-1", to prevent accidental variation of segment boundaries as class file sizes
370 (Here's why this works: Any reordering the packer does of any classfile
371 structures is idempotent, so the second packing does not change the orderings
372 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
373 specification to produce a specific bytewise image for any given transmission
374 ordering of archive elements.)
377 *java.lang.String_java.util.jar.Pack200.Packer.KEEP*
379 The packer engine applies various transformations to the input JAR file, making
380 the pack stream highly compressible by a compressor such as gzip or zip. An
381 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
383 The high degree of compression is achieved by using a number of techniques
384 described in the JSR 200 specification. Some of the techniques are sorting,
385 re-ordering and co-location of the constant pool.
387 The pack engine is initialized to an initial state as described by their
388 properties below. The initial state can be manipulated by getting the engine
389 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
390 properties on the map. The resource files will be passed through with no
391 changes at all. The class files will not contain identical bytes, since the
392 unpacker is free to change minor class file features such as constant pool
393 order. However, the class files will be semantically identical, as specified in
394 the Java Virtual Machine Specification
395 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
397 By default, the packer does not change the order of JAR elements. Also, the
398 modification time and deflation hint of each JAR element is passed unchanged.
399 (Any other ZIP-archive information, such as extra attributes giving Unix file
400 permissions, are lost.)
402 Note that packing and unpacking a JAR will in general alter the bytewise
403 contents of classfiles in the JAR. This means that packing and unpacking will
404 in general invalidate any digital signatures which rely on bytewise images of
405 JAR elements. In order both to sign and to pack a JAR, you must first pack and
406 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
407 elements, and finally repack the signed JAR. Both packing steps should use
408 precisely the same options, and the segment limit may also need to be set to
409 "-1", to prevent accidental variation of segment boundaries as class file sizes
412 (Here's why this works: Any reordering the packer does of any classfile
413 structures is idempotent, so the second packing does not change the orderings
414 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
415 specification to produce a specific bytewise image for any given transmission
416 ordering of archive elements.)
419 *java.lang.String_java.util.jar.Pack200.Packer.KEEP_FILE_ORDER*
421 The packer engine applies various transformations to the input JAR file, making
422 the pack stream highly compressible by a compressor such as gzip or zip. An
423 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
425 The high degree of compression is achieved by using a number of techniques
426 described in the JSR 200 specification. Some of the techniques are sorting,
427 re-ordering and co-location of the constant pool.
429 The pack engine is initialized to an initial state as described by their
430 properties below. The initial state can be manipulated by getting the engine
431 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
432 properties on the map. The resource files will be passed through with no
433 changes at all. The class files will not contain identical bytes, since the
434 unpacker is free to change minor class file features such as constant pool
435 order. However, the class files will be semantically identical, as specified in
436 the Java Virtual Machine Specification
437 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
439 By default, the packer does not change the order of JAR elements. Also, the
440 modification time and deflation hint of each JAR element is passed unchanged.
441 (Any other ZIP-archive information, such as extra attributes giving Unix file
442 permissions, are lost.)
444 Note that packing and unpacking a JAR will in general alter the bytewise
445 contents of classfiles in the JAR. This means that packing and unpacking will
446 in general invalidate any digital signatures which rely on bytewise images of
447 JAR elements. In order both to sign and to pack a JAR, you must first pack and
448 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
449 elements, and finally repack the signed JAR. Both packing steps should use
450 precisely the same options, and the segment limit may also need to be set to
451 "-1", to prevent accidental variation of segment boundaries as class file sizes
454 (Here's why this works: Any reordering the packer does of any classfile
455 structures is idempotent, so the second packing does not change the orderings
456 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
457 specification to produce a specific bytewise image for any given transmission
458 ordering of archive elements.)
461 *java.lang.String_java.util.jar.Pack200.Packer.LATEST*
463 The packer engine applies various transformations to the input JAR file, making
464 the pack stream highly compressible by a compressor such as gzip or zip. An
465 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
467 The high degree of compression is achieved by using a number of techniques
468 described in the JSR 200 specification. Some of the techniques are sorting,
469 re-ordering and co-location of the constant pool.
471 The pack engine is initialized to an initial state as described by their
472 properties below. The initial state can be manipulated by getting the engine
473 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
474 properties on the map. The resource files will be passed through with no
475 changes at all. The class files will not contain identical bytes, since the
476 unpacker is free to change minor class file features such as constant pool
477 order. However, the class files will be semantically identical, as specified in
478 the Java Virtual Machine Specification
479 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
481 By default, the packer does not change the order of JAR elements. Also, the
482 modification time and deflation hint of each JAR element is passed unchanged.
483 (Any other ZIP-archive information, such as extra attributes giving Unix file
484 permissions, are lost.)
486 Note that packing and unpacking a JAR will in general alter the bytewise
487 contents of classfiles in the JAR. This means that packing and unpacking will
488 in general invalidate any digital signatures which rely on bytewise images of
489 JAR elements. In order both to sign and to pack a JAR, you must first pack and
490 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
491 elements, and finally repack the signed JAR. Both packing steps should use
492 precisely the same options, and the segment limit may also need to be set to
493 "-1", to prevent accidental variation of segment boundaries as class file sizes
496 (Here's why this works: Any reordering the packer does of any classfile
497 structures is idempotent, so the second packing does not change the orderings
498 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
499 specification to produce a specific bytewise image for any given transmission
500 ordering of archive elements.)
503 *java.lang.String_java.util.jar.Pack200.Packer.METHOD_ATTRIBUTE_PFX*
505 The packer engine applies various transformations to the input JAR file, making
506 the pack stream highly compressible by a compressor such as gzip or zip. An
507 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
509 The high degree of compression is achieved by using a number of techniques
510 described in the JSR 200 specification. Some of the techniques are sorting,
511 re-ordering and co-location of the constant pool.
513 The pack engine is initialized to an initial state as described by their
514 properties below. The initial state can be manipulated by getting the engine
515 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
516 properties on the map. The resource files will be passed through with no
517 changes at all. The class files will not contain identical bytes, since the
518 unpacker is free to change minor class file features such as constant pool
519 order. However, the class files will be semantically identical, as specified in
520 the Java Virtual Machine Specification
521 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
523 By default, the packer does not change the order of JAR elements. Also, the
524 modification time and deflation hint of each JAR element is passed unchanged.
525 (Any other ZIP-archive information, such as extra attributes giving Unix file
526 permissions, are lost.)
528 Note that packing and unpacking a JAR will in general alter the bytewise
529 contents of classfiles in the JAR. This means that packing and unpacking will
530 in general invalidate any digital signatures which rely on bytewise images of
531 JAR elements. In order both to sign and to pack a JAR, you must first pack and
532 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
533 elements, and finally repack the signed JAR. Both packing steps should use
534 precisely the same options, and the segment limit may also need to be set to
535 "-1", to prevent accidental variation of segment boundaries as class file sizes
538 (Here's why this works: Any reordering the packer does of any classfile
539 structures is idempotent, so the second packing does not change the orderings
540 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
541 specification to produce a specific bytewise image for any given transmission
542 ordering of archive elements.)
545 *java.lang.String_java.util.jar.Pack200.Packer.MODIFICATION_TIME*
547 The packer engine applies various transformations to the input JAR file, making
548 the pack stream highly compressible by a compressor such as gzip or zip. An
549 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
551 The high degree of compression is achieved by using a number of techniques
552 described in the JSR 200 specification. Some of the techniques are sorting,
553 re-ordering and co-location of the constant pool.
555 The pack engine is initialized to an initial state as described by their
556 properties below. The initial state can be manipulated by getting the engine
557 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
558 properties on the map. The resource files will be passed through with no
559 changes at all. The class files will not contain identical bytes, since the
560 unpacker is free to change minor class file features such as constant pool
561 order. However, the class files will be semantically identical, as specified in
562 the Java Virtual Machine Specification
563 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
565 By default, the packer does not change the order of JAR elements. Also, the
566 modification time and deflation hint of each JAR element is passed unchanged.
567 (Any other ZIP-archive information, such as extra attributes giving Unix file
568 permissions, are lost.)
570 Note that packing and unpacking a JAR will in general alter the bytewise
571 contents of classfiles in the JAR. This means that packing and unpacking will
572 in general invalidate any digital signatures which rely on bytewise images of
573 JAR elements. In order both to sign and to pack a JAR, you must first pack and
574 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
575 elements, and finally repack the signed JAR. Both packing steps should use
576 precisely the same options, and the segment limit may also need to be set to
577 "-1", to prevent accidental variation of segment boundaries as class file sizes
580 (Here's why this works: Any reordering the packer does of any classfile
581 structures is idempotent, so the second packing does not change the orderings
582 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
583 specification to produce a specific bytewise image for any given transmission
584 ordering of archive elements.)
587 *java.lang.String_java.util.jar.Pack200.Packer.PASS*
589 The packer engine applies various transformations to the input JAR file, making
590 the pack stream highly compressible by a compressor such as gzip or zip. An
591 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
593 The high degree of compression is achieved by using a number of techniques
594 described in the JSR 200 specification. Some of the techniques are sorting,
595 re-ordering and co-location of the constant pool.
597 The pack engine is initialized to an initial state as described by their
598 properties below. The initial state can be manipulated by getting the engine
599 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
600 properties on the map. The resource files will be passed through with no
601 changes at all. The class files will not contain identical bytes, since the
602 unpacker is free to change minor class file features such as constant pool
603 order. However, the class files will be semantically identical, as specified in
604 the Java Virtual Machine Specification
605 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
607 By default, the packer does not change the order of JAR elements. Also, the
608 modification time and deflation hint of each JAR element is passed unchanged.
609 (Any other ZIP-archive information, such as extra attributes giving Unix file
610 permissions, are lost.)
612 Note that packing and unpacking a JAR will in general alter the bytewise
613 contents of classfiles in the JAR. This means that packing and unpacking will
614 in general invalidate any digital signatures which rely on bytewise images of
615 JAR elements. In order both to sign and to pack a JAR, you must first pack and
616 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
617 elements, and finally repack the signed JAR. Both packing steps should use
618 precisely the same options, and the segment limit may also need to be set to
619 "-1", to prevent accidental variation of segment boundaries as class file sizes
622 (Here's why this works: Any reordering the packer does of any classfile
623 structures is idempotent, so the second packing does not change the orderings
624 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
625 specification to produce a specific bytewise image for any given transmission
626 ordering of archive elements.)
629 *java.lang.String_java.util.jar.Pack200.Packer.PASS_FILE_PFX*
631 The packer engine applies various transformations to the input JAR file, making
632 the pack stream highly compressible by a compressor such as gzip or zip. An
633 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
635 The high degree of compression is achieved by using a number of techniques
636 described in the JSR 200 specification. Some of the techniques are sorting,
637 re-ordering and co-location of the constant pool.
639 The pack engine is initialized to an initial state as described by their
640 properties below. The initial state can be manipulated by getting the engine
641 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
642 properties on the map. The resource files will be passed through with no
643 changes at all. The class files will not contain identical bytes, since the
644 unpacker is free to change minor class file features such as constant pool
645 order. However, the class files will be semantically identical, as specified in
646 the Java Virtual Machine Specification
647 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
649 By default, the packer does not change the order of JAR elements. Also, the
650 modification time and deflation hint of each JAR element is passed unchanged.
651 (Any other ZIP-archive information, such as extra attributes giving Unix file
652 permissions, are lost.)
654 Note that packing and unpacking a JAR will in general alter the bytewise
655 contents of classfiles in the JAR. This means that packing and unpacking will
656 in general invalidate any digital signatures which rely on bytewise images of
657 JAR elements. In order both to sign and to pack a JAR, you must first pack and
658 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
659 elements, and finally repack the signed JAR. Both packing steps should use
660 precisely the same options, and the segment limit may also need to be set to
661 "-1", to prevent accidental variation of segment boundaries as class file sizes
664 (Here's why this works: Any reordering the packer does of any classfile
665 structures is idempotent, so the second packing does not change the orderings
666 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
667 specification to produce a specific bytewise image for any given transmission
668 ordering of archive elements.)
671 *java.lang.String_java.util.jar.Pack200.Packer.PROGRESS*
673 The packer engine applies various transformations to the input JAR file, making
674 the pack stream highly compressible by a compressor such as gzip or zip. An
675 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
677 The high degree of compression is achieved by using a number of techniques
678 described in the JSR 200 specification. Some of the techniques are sorting,
679 re-ordering and co-location of the constant pool.
681 The pack engine is initialized to an initial state as described by their
682 properties below. The initial state can be manipulated by getting the engine
683 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
684 properties on the map. The resource files will be passed through with no
685 changes at all. The class files will not contain identical bytes, since the
686 unpacker is free to change minor class file features such as constant pool
687 order. However, the class files will be semantically identical, as specified in
688 the Java Virtual Machine Specification
689 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
691 By default, the packer does not change the order of JAR elements. Also, the
692 modification time and deflation hint of each JAR element is passed unchanged.
693 (Any other ZIP-archive information, such as extra attributes giving Unix file
694 permissions, are lost.)
696 Note that packing and unpacking a JAR will in general alter the bytewise
697 contents of classfiles in the JAR. This means that packing and unpacking will
698 in general invalidate any digital signatures which rely on bytewise images of
699 JAR elements. In order both to sign and to pack a JAR, you must first pack and
700 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
701 elements, and finally repack the signed JAR. Both packing steps should use
702 precisely the same options, and the segment limit may also need to be set to
703 "-1", to prevent accidental variation of segment boundaries as class file sizes
706 (Here's why this works: Any reordering the packer does of any classfile
707 structures is idempotent, so the second packing does not change the orderings
708 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
709 specification to produce a specific bytewise image for any given transmission
710 ordering of archive elements.)
713 *java.lang.String_java.util.jar.Pack200.Packer.SEGMENT_LIMIT*
715 The packer engine applies various transformations to the input JAR file, making
716 the pack stream highly compressible by a compressor such as gzip or zip. An
717 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
719 The high degree of compression is achieved by using a number of techniques
720 described in the JSR 200 specification. Some of the techniques are sorting,
721 re-ordering and co-location of the constant pool.
723 The pack engine is initialized to an initial state as described by their
724 properties below. The initial state can be manipulated by getting the engine
725 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
726 properties on the map. The resource files will be passed through with no
727 changes at all. The class files will not contain identical bytes, since the
728 unpacker is free to change minor class file features such as constant pool
729 order. However, the class files will be semantically identical, as specified in
730 the Java Virtual Machine Specification
731 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
733 By default, the packer does not change the order of JAR elements. Also, the
734 modification time and deflation hint of each JAR element is passed unchanged.
735 (Any other ZIP-archive information, such as extra attributes giving Unix file
736 permissions, are lost.)
738 Note that packing and unpacking a JAR will in general alter the bytewise
739 contents of classfiles in the JAR. This means that packing and unpacking will
740 in general invalidate any digital signatures which rely on bytewise images of
741 JAR elements. In order both to sign and to pack a JAR, you must first pack and
742 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
743 elements, and finally repack the signed JAR. Both packing steps should use
744 precisely the same options, and the segment limit may also need to be set to
745 "-1", to prevent accidental variation of segment boundaries as class file sizes
748 (Here's why this works: Any reordering the packer does of any classfile
749 structures is idempotent, so the second packing does not change the orderings
750 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
751 specification to produce a specific bytewise image for any given transmission
752 ordering of archive elements.)
755 *java.lang.String_java.util.jar.Pack200.Packer.STRIP*
757 The packer engine applies various transformations to the input JAR file, making
758 the pack stream highly compressible by a compressor such as gzip or zip. An
759 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
761 The high degree of compression is achieved by using a number of techniques
762 described in the JSR 200 specification. Some of the techniques are sorting,
763 re-ordering and co-location of the constant pool.
765 The pack engine is initialized to an initial state as described by their
766 properties below. The initial state can be manipulated by getting the engine
767 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
768 properties on the map. The resource files will be passed through with no
769 changes at all. The class files will not contain identical bytes, since the
770 unpacker is free to change minor class file features such as constant pool
771 order. However, the class files will be semantically identical, as specified in
772 the Java Virtual Machine Specification
773 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
775 By default, the packer does not change the order of JAR elements. Also, the
776 modification time and deflation hint of each JAR element is passed unchanged.
777 (Any other ZIP-archive information, such as extra attributes giving Unix file
778 permissions, are lost.)
780 Note that packing and unpacking a JAR will in general alter the bytewise
781 contents of classfiles in the JAR. This means that packing and unpacking will
782 in general invalidate any digital signatures which rely on bytewise images of
783 JAR elements. In order both to sign and to pack a JAR, you must first pack and
784 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
785 elements, and finally repack the signed JAR. Both packing steps should use
786 precisely the same options, and the segment limit may also need to be set to
787 "-1", to prevent accidental variation of segment boundaries as class file sizes
790 (Here's why this works: Any reordering the packer does of any classfile
791 structures is idempotent, so the second packing does not change the orderings
792 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
793 specification to produce a specific bytewise image for any given transmission
794 ordering of archive elements.)
797 *java.lang.String_java.util.jar.Pack200.Packer.TRUE*
799 The packer engine applies various transformations to the input JAR file, making
800 the pack stream highly compressible by a compressor such as gzip or zip. An
801 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
803 The high degree of compression is achieved by using a number of techniques
804 described in the JSR 200 specification. Some of the techniques are sorting,
805 re-ordering and co-location of the constant pool.
807 The pack engine is initialized to an initial state as described by their
808 properties below. The initial state can be manipulated by getting the engine
809 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
810 properties on the map. The resource files will be passed through with no
811 changes at all. The class files will not contain identical bytes, since the
812 unpacker is free to change minor class file features such as constant pool
813 order. However, the class files will be semantically identical, as specified in
814 the Java Virtual Machine Specification
815 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
817 By default, the packer does not change the order of JAR elements. Also, the
818 modification time and deflation hint of each JAR element is passed unchanged.
819 (Any other ZIP-archive information, such as extra attributes giving Unix file
820 permissions, are lost.)
822 Note that packing and unpacking a JAR will in general alter the bytewise
823 contents of classfiles in the JAR. This means that packing and unpacking will
824 in general invalidate any digital signatures which rely on bytewise images of
825 JAR elements. In order both to sign and to pack a JAR, you must first pack and
826 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
827 elements, and finally repack the signed JAR. Both packing steps should use
828 precisely the same options, and the segment limit may also need to be set to
829 "-1", to prevent accidental variation of segment boundaries as class file sizes
832 (Here's why this works: Any reordering the packer does of any classfile
833 structures is idempotent, so the second packing does not change the orderings
834 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
835 specification to produce a specific bytewise image for any given transmission
836 ordering of archive elements.)
839 *java.lang.String_java.util.jar.Pack200.Packer.UNKNOWN_ATTRIBUTE*
841 The packer engine applies various transformations to the input JAR file, making
842 the pack stream highly compressible by a compressor such as gzip or zip. An
843 instance of the engine can be obtained using (|java.util.jar.Pack200.Packer|) .
845 The high degree of compression is achieved by using a number of techniques
846 described in the JSR 200 specification. Some of the techniques are sorting,
847 re-ordering and co-location of the constant pool.
849 The pack engine is initialized to an initial state as described by their
850 properties below. The initial state can be manipulated by getting the engine
851 properties (using (|java.util.jar.Pack200.Packer|) ) and storing the modified
852 properties on the map. The resource files will be passed through with no
853 changes at all. The class files will not contain identical bytes, since the
854 unpacker is free to change minor class file features such as constant pool
855 order. However, the class files will be semantically identical, as specified in
856 the Java Virtual Machine Specification
857 http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html.
859 By default, the packer does not change the order of JAR elements. Also, the
860 modification time and deflation hint of each JAR element is passed unchanged.
861 (Any other ZIP-archive information, such as extra attributes giving Unix file
862 permissions, are lost.)
864 Note that packing and unpacking a JAR will in general alter the bytewise
865 contents of classfiles in the JAR. This means that packing and unpacking will
866 in general invalidate any digital signatures which rely on bytewise images of
867 JAR elements. In order both to sign and to pack a JAR, you must first pack and
868 unpack the JAR to "normalize" it, then compute signatures on the unpacked JAR
869 elements, and finally repack the signed JAR. Both packing steps should use
870 precisely the same options, and the segment limit may also need to be set to
871 "-1", to prevent accidental variation of segment boundaries as class file sizes
874 (Here's why this works: Any reordering the packer does of any classfile
875 structures is idempotent, so the second packing does not change the orderings
876 produced by the first packing. Also, the unpacker is guaranteed by the JSR 200
877 specification to produce a specific bytewise image for any given transmission
878 ordering of archive elements.)
882 *java.util.jar.Pack200.Packer.addPropertyChangeListener(PropertyChangeListener)*
884 public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
886 Registers a listener for PropertyChange events on the properties map. This is
887 typically used by applications to update a progress bar.
889 listener - An object to be invoked when a property is changed.
891 *java.util.jar.Pack200.Packer.pack(JarFile,OutputStream)*
894 java.util.jar.JarFile in,
895 java.io.OutputStream out)
896 throws |java.io.IOException|
898 Takes a JarFile and converts it into a Pack200 archive.
900 Closes its input but not its output. (Pack200 archives are appendable.)
903 out - an OutputStream
905 *java.util.jar.Pack200.Packer.pack(JarInputStream,OutputStream)*
908 java.util.jar.JarInputStream in,
909 java.io.OutputStream out)
910 throws |java.io.IOException|
912 Takes a JarInputStream and converts it into a Pack200 archive.
914 Closes its input but not its output. (Pack200 archives are appendable.)
916 The modification time and deflation hint attributes are not available, for the
917 JAR manifest file and its containing directory.
919 in - a JarInputStream
920 out - an OutputStream
922 *java.util.jar.Pack200.Packer.properties()*
924 public |java.util.SortedMap| properties()
926 Get the set of this engine's properties. This set is a "live view", so that
927 changing its contents immediately affects the Packer engine, and changes from
928 the engine (such as progress indications) are immediately visible in the map.
930 The property map may contain pre-defined implementation specific and default
931 properties. Users are encouraged to read the information and fully understand
932 the implications, before modifying pre-existing properties.
934 Implementation specific properties are prefixed with a package name associated
935 with the implementor, beginning with com. or a similar prefix. All property
936 names beginning with pack. and unpack. are reserved for use by this API.
938 Unknown properties may be ignored or rejected with an unspecified error, and
939 invalid entries may cause an unspecified error to be thrown.
941 The returned map implements all optional (|java.util.SortedMap|) operations
944 Returns: A sorted association of property key strings to property values.
945 *java.util.jar.Pack200.Packer.removePropertyChangeListener(PropertyChangeListener)*
947 public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
949 Remove a listener for PropertyChange events, added by the
950 (|java.util.jar.Pack200.Packer|) .
952 listener - The PropertyChange listener to be removed.