diff --git a/src/main/org/apache/tools/zip/UnrecognizedExtraField.java b/src/main/org/apache/tools/zip/UnrecognizedExtraField.java index 0065a9cbb..f61e927fc 100644 --- a/src/main/org/apache/tools/zip/UnrecognizedExtraField.java +++ b/src/main/org/apache/tools/zip/UnrecognizedExtraField.java @@ -1,5 +1,5 @@ /* - * Copyright 2001-2002,2004 The Apache Software Foundation + * Copyright 2001-2002,2004-2005 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -35,10 +35,18 @@ public class UnrecognizedExtraField implements ZipExtraField { */ private ZipShort headerId; + /** + * Set the header id. + * @param headerId the header id to use + */ public void setHeaderId(ZipShort headerId) { this.headerId = headerId; } + /** + * Get the header id. + * @return the header id + */ public ZipShort getHeaderId() { return headerId; } @@ -51,14 +59,27 @@ public class UnrecognizedExtraField implements ZipExtraField { */ private byte[] localData; + /** + * Set the extra field data in the local file data - + * without Header-ID or length specifier. + * @param data the field data to use + */ public void setLocalFileDataData(byte[] data) { localData = data; } + /** + * Get the length of the local data. + * @return the length of the local data + */ public ZipShort getLocalFileDataLength() { return new ZipShort(localData.length); } + /** + * Get the local data. + * @return the local data + */ public byte[] getLocalFileDataData() { return localData; } @@ -71,10 +92,19 @@ public class UnrecognizedExtraField implements ZipExtraField { */ private byte[] centralData; + /** + * Set the extra field data in central directory. + * @param data the data to use + */ public void setCentralDirectoryData(byte[] data) { centralData = data; } + /** + * Get the central data length. + * If there is no central data, get the local file data length. + * @return the central data length + */ public ZipShort getCentralDirectoryLength() { if (centralData != null) { return new ZipShort(centralData.length); @@ -82,6 +112,10 @@ public class UnrecognizedExtraField implements ZipExtraField { return getLocalFileDataLength(); } + /** + * Get the central data. + * @return the central data if present, else return the local file data + */ public byte[] getCentralDirectoryData() { if (centralData != null) { return centralData; @@ -89,6 +123,9 @@ public class UnrecognizedExtraField implements ZipExtraField { return getLocalFileDataData(); } + /** + * @see ZipExtraField#parseFromLocalFileData(data, offset, length) + */ public void parseFromLocalFileData(byte[] data, int offset, int length) { byte[] tmp = new byte[length]; System.arraycopy(data, offset, tmp, 0, length); diff --git a/src/main/org/apache/tools/zip/ZipExtraField.java b/src/main/org/apache/tools/zip/ZipExtraField.java index a09924795..ba3508926 100644 --- a/src/main/org/apache/tools/zip/ZipExtraField.java +++ b/src/main/org/apache/tools/zip/ZipExtraField.java @@ -1,5 +1,5 @@ /* - * Copyright 2001,2004 The Apache Software Foundation + * Copyright 2001,2004-2005 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -34,7 +34,7 @@ public interface ZipExtraField { /** * The Header-ID. - * + * @return the header id * @since 1.1 */ ZipShort getHeaderId(); @@ -42,7 +42,7 @@ public interface ZipExtraField { /** * Length of the extra field in the local file data - without * Header-ID or length specifier. - * + * @return the length of the field in the local file data * @since 1.1 */ ZipShort getLocalFileDataLength(); @@ -50,7 +50,7 @@ public interface ZipExtraField { /** * Length of the extra field in the central directory - without * Header-ID or length specifier. - * + * @return the length of the field in the central directory * @since 1.1 */ ZipShort getCentralDirectoryLength(); @@ -58,7 +58,7 @@ public interface ZipExtraField { /** * The actual data to put into local file data - without Header-ID * or length specifier. - * + * @return the data * @since 1.1 */ byte[] getLocalFileDataData(); @@ -66,15 +66,19 @@ public interface ZipExtraField { /** * The actual data to put central directory - without Header-ID or * length specifier. - * + * @return the data * @since 1.1 */ byte[] getCentralDirectoryData(); /** * Populate data from this array as if it was in local file data. + * @param data an array of bytes + * @param offset the start offset + * @param length the number of bytes in the array from offset * * @since 1.1 + * @throws ZipException on error */ void parseFromLocalFileData(byte[] data, int offset, int length) throws ZipException;