blob: a60ccb2d89a665a3053fbee47dc6df6494bc69e2 [file] [log] [blame]
Stefan Bodewig4e2380b2009-02-18 14:51:10 +00001/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 */
18
19package org.apache.commons.compress.archivers.zip;
20
21/**
22 * Info-ZIP Unicode Path Extra Field (0x7075):
23 *
24 * <p>Stores the UTF-8 version of the file name field as stored in the
25 * local header and central directory header.</p>
26 *
Stefan Bodewig45e51c22013-12-22 07:03:43 +000027 * @see <a href="http://www.pkware.com/documents/casestudies/APPNOTE.TXT">PKWARE's
28 * APPNOTE.TXT, section 4.6.9</a>
29 *
Sebastian Bazley99870ef2009-03-28 00:04:36 +000030 * @NotThreadSafe super-class is not thread-safe
Stefan Bodewig4e2380b2009-02-18 14:51:10 +000031 */
32public class UnicodePathExtraField extends AbstractUnicodeExtraField {
33
34 public static final ZipShort UPATH_ID = new ZipShort(0x7075);
35
36 public UnicodePathExtraField () {
37 }
38
39 /**
Stefan Bodewig853176f2009-03-02 16:09:20 +000040 * Assemble as unicode path extension from the name given as
41 * text as well as the encoded bytes actually written to the archive.
Stefan Bodewig4e2380b2009-02-18 14:51:10 +000042 *
Sebastian Bazley8ebac242009-03-04 00:18:09 +000043 * @param text The file name
Stefan Bodewig853176f2009-03-02 16:09:20 +000044 * @param bytes the bytes actually written to the archive
45 * @param off The offset of the encoded filename in <code>bytes</code>.
46 * @param len The length of the encoded filename or comment in
47 * <code>bytes</code>.
Stefan Bodewig4e2380b2009-02-18 14:51:10 +000048 */
Stefan Bodewig853176f2009-03-02 16:09:20 +000049 public UnicodePathExtraField(String text, byte[] bytes, int off, int len) {
50 super(text, bytes, off, len);
Stefan Bodewig4e2380b2009-02-18 14:51:10 +000051 }
52
Stefan Bodewigccc77aa2009-02-26 09:07:23 +000053 /**
54 * Assemble as unicode path extension from the name given as
Stefan Bodewig853176f2009-03-02 16:09:20 +000055 * text as well as the encoded bytes actually written to the archive.
Stefan Bodewigccc77aa2009-02-26 09:07:23 +000056 *
57 * @param name The file name
58 * @param bytes the bytes actually written to the archive
59 */
60 public UnicodePathExtraField(String name, byte[] bytes) {
61 super(name, bytes);
62 }
63
Stefan Bodewig4e2380b2009-02-18 14:51:10 +000064 public ZipShort getHeaderId() {
65 return UPATH_ID;
66 }
67}