org.eclipse.osgi.internal.loader.classpath.ClasspathEntry Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aspectjtools Show documentation
Show all versions of aspectjtools Show documentation
Tools from the AspectJ project
/*******************************************************************************
* Copyright (c) 2005, 2017 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.osgi.internal.loader.classpath;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.security.ProtectionDomain;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.jar.Attributes;
import java.util.jar.Manifest;
import org.eclipse.osgi.container.Module;
import org.eclipse.osgi.framework.util.KeyedElement;
import org.eclipse.osgi.storage.BundleInfo;
import org.eclipse.osgi.storage.BundleInfo.Generation;
import org.eclipse.osgi.storage.Storage;
import org.eclipse.osgi.storage.bundlefile.BundleEntry;
import org.eclipse.osgi.storage.bundlefile.BundleFile;
/**
* A ClasspathEntry contains a single BundleFile
which is used as
* a source to load classes and resources from, and a single
* ProtectionDomain
which is used as the domain to define classes
* loaded from this ClasspathEntry.
* @since 3.2
*/
public class ClasspathEntry {
static final class PDEData {
final String fileName;
final String symbolicName;
PDEData(File baseFile, String symbolicName) {
this.fileName = baseFile == null ? null : baseFile.getAbsolutePath();
this.symbolicName = symbolicName;
}
}
private final BundleFile bundlefile;
private final ProtectionDomain domain;
private final ManifestPackageAttributes mainManifestPackageAttributes;
private final Map perPackageManifestAttributes;
private final List mrBundleFiles;
private HashMap
© 2015 - 2024 Weber Informatics LLC | Privacy Policy