1 /******************************************************************************* 2 * Copyright (c) 2010 IBM Corporation and others. 3 * 4 * This program and the accompanying materials 5 * are made available under the terms of the Eclipse Public License 2.0 6 * which accompanies this distribution, and is available at 7 * https://www.eclipse.org/legal/epl-2.0/ 8 * 9 * SPDX-License-Identifier: EPL-2.0 10 * 11 * Contributors: 12 * IBM Corporation - initial API and implementation 13 *******************************************************************************/ 14 package org.eclipse.pde.core.project; 15 16 import org.eclipse.osgi.service.resolver.VersionRange; 17 18 /** 19 * Describes a required bundle. Instances of this class can be created 20 * via {@link IBundleProjectService#newRequiredBundle(String, VersionRange, boolean, boolean)}. 21 * 22 * @since 3.6 23 * @noimplement This interface is not intended to be implemented by clients. 24 * @noextend This interface is not intended to be extended by clients. 25 */ 26 public interface IRequiredBundleDescription { 27 28 /** 29 * Returns the symbolic name of the required bundle. 30 * 31 * @return symbolic name of the required bundle 32 */ getName()33 public String getName(); 34 35 /** 36 * Returns the version constraint of the required bundle or <code>null</code> 37 * if unspecified. 38 * 39 * @return version constraint or <code>null</code> 40 */ getVersionRange()41 public VersionRange getVersionRange(); 42 43 /** 44 * Returns whether the required bundle is re-exported. 45 * 46 * @return whether re-exported 47 */ isExported()48 public boolean isExported(); 49 50 /** 51 * Returns whether the required bundle is optional. 52 * 53 * @return whether optional 54 */ isOptional()55 public boolean isOptional(); 56 57 } 58