001/* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 */ 019package org.apache.commons.compress.archivers.jar; 020 021import java.security.cert.Certificate; 022import java.util.Arrays; 023import java.util.jar.Attributes; 024import java.util.jar.JarEntry; 025import java.util.zip.ZipEntry; 026import java.util.zip.ZipException; 027 028import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; 029 030/** 031 * 032 * @NotThreadSafe (parent is not thread-safe) 033 */ 034public class JarArchiveEntry extends ZipArchiveEntry { 035 036 // These are always null - see https://issues.apache.org/jira/browse/COMPRESS-18 for discussion 037 private final Attributes manifestAttributes = null; 038 private final Certificate[] certificates = null; 039 040 public JarArchiveEntry(final JarEntry entry) throws ZipException { 041 super(entry); 042 043 } 044 045 public JarArchiveEntry(final String name) { 046 super(name); 047 } 048 049 public JarArchiveEntry(final ZipArchiveEntry entry) throws ZipException { 050 super(entry); 051 } 052 053 public JarArchiveEntry(final ZipEntry entry) throws ZipException { 054 super(entry); 055 } 056 057 /** 058 * Return a copy of the list of certificates or null if there are none. 059 * 060 * @return Always returns null in the current implementation 061 * 062 * @deprecated since 1.5, not currently implemented 063 */ 064 @Deprecated 065 public Certificate[] getCertificates() { 066 if (certificates != null) { // never true currently // NOSONAR 067 return Arrays.copyOf(certificates, certificates.length); 068 } 069 /* 070 * Note, the method 071 * Certificate[] java.util.jar.JarEntry.getCertificates() 072 * also returns null or the list of certificates (but not copied) 073 */ 074 return null; 075 } 076 077 /** 078 * This method is not implemented and won't ever be. 079 * The JVM equivalent has a different name {@link java.util.jar.JarEntry#getAttributes()} 080 * 081 * @deprecated since 1.5, do not use; always returns null 082 * @return Always returns null. 083 */ 084 @Deprecated 085 public Attributes getManifestAttributes() { 086 return manifestAttributes; 087 } 088 089}