| /* |
| * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. |
| * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| * |
| * This code is free software; you can redistribute it and/or modify it |
| * under the terms of the GNU General Public License version 2 only, as |
| * published by the Free Software Foundation. Oracle designates this |
| * particular file as subject to the "Classpath" exception as provided |
| * by Oracle in the LICENSE file that accompanied this code. |
| * |
| * This code is distributed in the hope that it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| * version 2 for more details (a copy is included in the LICENSE file that |
| * accompanied this code). |
| * |
| * You should have received a copy of the GNU General Public License version |
| * 2 along with this work; if not, write to the Free Software Foundation, |
| * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| * |
| * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| * or visit www.oracle.com if you need additional information or have any |
| * questions. |
| */ |
| |
| /** |
| * This package provides methods to read files from a JAR file and to |
| * transform them to a more compact transfer format called Pack200. |
| * It also provides methods to receive the transmitted data and expand |
| * it into a JAR file equivalent to the original JAR file. |
| * |
| * <p> |
| * The {@code pack} methods may be used by application developers who |
| * wish to deploy large JARs on the web. The {@code unpack} methods |
| * may be used by deployment applications such as Java Web Start and |
| * Java Plugin. |
| * |
| * <p> |
| * In typical use, the packed output should be further compressed |
| * using a suitable tool such as gzip or |
| * {@code java.util.zip.GZIPOutputStream}. The resulting file (with |
| * a suffix ".pack.gz") should be hosted on a HTTP/1.1 compliant |
| * server, which will be capable of handling "Accept-Encoding", as |
| * specified by the HTTP 1.1 RFC2616 specification. |
| * |
| * <p> |
| * <b>NOTE:</b> It is recommended that the original ".jar" file be |
| * hosted in addition to the ".pack.gz" file, so that older client |
| * implementations will continue to work reliably. (On-demand |
| * compression by the server is not recommended.) |
| * |
| * <p> |
| * When a client application requests a ".jar" file (call it |
| * "Large.jar"), the client will transmit the headers |
| * "Content-Type=application/x-java-archive" as well as |
| * "Accept-Encoding=pack200-gzip". This indicates to the server that |
| * the client application desires an version of the file encoded with |
| * Pack200 and further compressed with gzip. |
| * |
| * <p> |
| * The server implementation will typically check for the existence of |
| * "Large.pack.gz". If that file is available, the server will |
| * transmit it with the headers "Content-Encoding=pack200-gzip" and |
| * "Content-Type=application/x-java-archive". |
| * |
| * <p> |
| * If the ".pack.gz" file, is not available, then the server will |
| * transmit the original ".jar" with "Content-Encoding=null" and |
| * "Content-Type=application/x-java-archive". |
| * |
| * <p> |
| * A MIME type of "application/x-java-pack200" may be specified by the |
| * client application to indicate a ".pack" file is required. |
| * However, this has limited capability, and is not recommended. |
| * |
| * <h2> Package Specification</h2> |
| * Network Transfer Format Specification :<a href="http://jcp.org/en/jsr/detail?id=200"> |
| * http://jcp.org/en/jsr/detail?id=200</a> |
| * |
| * <h2> Related Documentation</h2> |
| * For overviews, tutorials, examples, guides, and tool documentation, please |
| * see: |
| * <ul> |
| * |
| * <li> |
| * Jar File Specification :<a href="http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html"> |
| * http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html</a></li> |
| * |
| * <li> |
| * Class File Specification: Chapter 4 of |
| * <em>The Java™ Virtual Machine Specification</em> |
| * |
| * <li> |
| * Hypertext Transfer Protocol -- HTTP/1.1 : <a href="http://www.ietf.org/rfc/rfc2616.txt"> |
| * http://www.ietf.org/rfc/rfc2616.txt |
| * </ul> |
| * |
| * <li> |
| * @since 1.5</li> |
| */ |
| package com.sun.java.util.jar.pack; |