aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/util/jar/JarEntry.java
diff options
context:
space:
mode:
authorAnthony Green <green@redhat.com>2000-08-19 18:19:42 +0000
committerAnthony Green <green@gcc.gnu.org>2000-08-19 18:19:42 +0000
commita729a4e9aba7afb312ee0f15a70979ae75d1a9fe (patch)
tree2dff323eee68e61f9225ea0c6c7f15f7c6bcd624 /libjava/java/util/jar/JarEntry.java
parente76d9acbe9055e6f0ec35f4e5d0893ca10baf643 (diff)
downloadgcc-a729a4e9aba7afb312ee0f15a70979ae75d1a9fe.zip
gcc-a729a4e9aba7afb312ee0f15a70979ae75d1a9fe.tar.gz
gcc-a729a4e9aba7afb312ee0f15a70979ae75d1a9fe.tar.bz2
Attributes.java, [...]: Imported from Classpath.
Sat Aug 19 11:00:53 2000 Anthony Green <green@redhat.com> * java/util/jar/Attributes.java, java/util/jar/JarEntry.java, java/util/jar/JarException.java, java/util/jar/JarFile.java, java/util/jar/JarInputStream.java, java/util/jar/JarOutputStream.java, java/util/jar/Manifest.java, java/util/Set.java, java/util/Map.java, java/util/Bucket.java, java/util/AbstractSet.java, java/util/BasicMapEntry.java, java/security/cert/CRL.java, java/security/cert/CRLException.java, java/security/cert/Certificate.java, java/security/cert/CertificateEncodingException.java, java/security/cert/CertificateException.java, java/security/cert/CertificateExpiredException.java, java/security/cert/CertificateFactory.java, java/security/cert/CertificateFactorySpi.java, java/security/cert/CertificateNotYetValidException.java, java/security/cert/CertificateParsingException.java, java/security/cert/X509CRL.java, java/security/cert/X509CRLEntry.java, java/security/cert/X509Certificate.java, java/security/cert/X509Extension.java: Imported from Classpath. * java/util/Hashtable.java: Imported from Classpath. * java/util/zip/ZipInputStream.java: Create stub for createZipEntry. * gcj/javaprims.h: Updated class list. * Makefile.in, gcj/Makefile.in: Rebuilt. * Makefile.am (ordinary_java_source_files): Add these new classes. From-SVN: r35809
Diffstat (limited to 'libjava/java/util/jar/JarEntry.java')
-rw-r--r--libjava/java/util/jar/JarEntry.java148
1 files changed, 124 insertions, 24 deletions
diff --git a/libjava/java/util/jar/JarEntry.java b/libjava/java/util/jar/JarEntry.java
index eaebd1a..e15f1a4 100644
--- a/libjava/java/util/jar/JarEntry.java
+++ b/libjava/java/util/jar/JarEntry.java
@@ -1,39 +1,139 @@
-/* Copyright (C) 1999 Free Software Foundation
+/* JarEntry.java - Represents an entry in a jar file
+ Copyright (C) 2000 Free Software Foundation, Inc.
- This file is part of libgcj.
+This file is part of GNU Classpath.
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+As a special exception, if you link this library with other files to
+produce an executable, this library does not by itself cause the
+resulting executable to be covered by the GNU General Public License.
+This exception does not however invalidate any other reasons why the
+executable file might be covered by the GNU General Public License. */
package java.util.jar;
-import java.util.zip.*;
+import java.io.IOException;
+import java.security.cert.Certificate;
+import java.util.zip.ZipEntry;
/**
- * Does not implement the security and manifest methods.
+ * Extension to a ZipEntry that contains manifest attributes and certificates.
+ * Both the Atrributes and the Certificates can be null when not set.
+ * Note that the <code>getCertificates()</code> method only returns a
+ * valid value after all of the data of the entry has been read.
+ * <p>
+ * There are no public methods to set the attributes or certificate of an
+ * Entru. Only JarEntries created by the classes in <code>java.util.jar</code>
+ * will have these properties set.
*
- * @author Kresten Krab Thorup <krab@gnu.org>
- * @date August 10, 1999.
+ * @since 1.2
+ * @author Mark Wielaard (mark@klomp.org)
*/
+
+public class JarEntry extends ZipEntry {
+
+ // (Packge local) fields
+
+ Attributes attr;
+ Certificate certs[];
+
+ // Constructors
+
+ /**
+ * Creates a new JarEntry with the specified name and no attributes or
+ * or certificates. Calls <code>super(name)</code> so all other (zip)entry
+ * fields are null or -1.
+ *
+ * @param name the name of the new jar entry
+ * @exception NullPointerException when the supplied name is null
+ * @exception IllegalArgumentException when the supplied name is longer
+ * than 65535 bytes
+ */
+ public JarEntry(String name) throws NullPointerException,
+ IllegalArgumentException {
+ super(name);
+ attr = null;
+ certs = null;
+ }
-public class JarEntry extends ZipEntry
-{
- ZipEntry zip;
+ /**
+ * Creates a new JarEntry with the specified ZipEntry as template for
+ * all properties of the entry. Both attributes and certificates will be
+ * null.
+ *
+ * @param entry the ZipEntry whose fields should be copied
+ */
+ public JarEntry(ZipEntry entry) {
+ super(entry);
+ attr = null;
+ certs = null;
+ }
- public JarEntry (ZipEntry ent)
- {
- super (ent);
- }
+ /**
+ * Creates a new JarEntry with the specified JarEntry as template for
+ * all properties of the entry.
+ *
+ * @param entry the jarEntry whose fields should be copied
+ */
+ public JarEntry(JarEntry entry) {
+ super(entry);
+ try {
+ attr = entry.getAttributes();
+ } catch(IOException _) {}
+ certs = entry.getCertificates();
+ }
- public JarEntry (JarEntry ent)
- {
- super (ent);
- }
+ // Methods
- public JarEntry (String name)
- {
- super (name);
- }
+ /**
+ * Returns a copy of the Attributes set for this entry.
+ * When no Attributes are set in the manifest null is returned.
+ *
+ * @return a copy of the Attributes set for this entry
+ * @exception IOException This will never be thrown. It is here for
+ * binary compatibility.
+ */
+ public Attributes getAttributes() throws IOException {
+ if (attr != null) {
+ return (Attributes) attr.clone();
+ } else {
+ return null;
+ }
+ }
+ /**
+ * Returns a copy of the certificates set for this entry.
+ * When no certificates are set or when not all data of this entry has
+ * been read null is returned.
+ * <p>
+ * To make sure that this call returns a valid value you must read all
+ * data from the JarInputStream for this entry.
+ * When you don't need the data for an entry but want to know the
+ * certificates that are set for the entry then you can skip all data by
+ * calling <code>skip(entry.getSize())</code> on the JarInputStream for
+ * the entry.
+ *
+ * @return a copy of the certificates set for this entry
+ */
+ public Certificate[] getCertificates() {
+ if (certs != null) {
+ return (Certificate []) certs.clone();
+ } else {
+ return null;
+ }
+ }
}