Improved build.xml
[vimdoclet.git] / sample / java.util.jar.Pack200.Packer.txt
blob25b31597e2fb0c3a132ca6e830a08bf949735b5c
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 
74 change slightly. 
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 
116 change slightly. 
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 
158 change slightly. 
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 
200 change slightly. 
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 
242 change slightly. 
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 
284 change slightly. 
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 
326 change slightly. 
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 
368 change slightly. 
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 
410 change slightly. 
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 
452 change slightly. 
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 
494 change slightly. 
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 
536 change slightly. 
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 
578 change slightly. 
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 
620 change slightly. 
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 
662 change slightly. 
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 
704 change slightly. 
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 
746 change slightly. 
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 
788 change slightly. 
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 
830 change slightly. 
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 
872 change slightly. 
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)*
893 public void pack(
894   java.util.jar.JarFile in,
895   java.io.OutputStream out)
896   throws |java.io.IOException|
897          
898 Takes a JarFile and converts it into a Pack200 archive. 
900 Closes its input but not its output. (Pack200 archives are appendable.) 
902     in - a JarFile 
903     out - an OutputStream 
905 *java.util.jar.Pack200.Packer.pack(JarInputStream,OutputStream)*
907 public void pack(
908   java.util.jar.JarInputStream in,
909   java.io.OutputStream out)
910   throws |java.io.IOException|
911          
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.