1 /******************************************************************************* 2 * Copyright (c) 2005, 2019 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.internal.ui.correction; 15 16 import org.eclipse.core.resources.IMarker; 17 import org.eclipse.jdt.ui.IJavaElementSearchConstants; 18 import org.eclipse.osgi.util.NLS; 19 import org.eclipse.pde.internal.core.ibundle.IManifestHeader; 20 import org.eclipse.pde.internal.core.text.bundle.BundleModel; 21 import org.eclipse.pde.internal.ui.PDEUIMessages; 22 import org.eclipse.pde.internal.ui.util.PDEJavaHelperUI; 23 24 public class ChooseManifestClassResolution extends AbstractManifestMarkerResolution { 25 26 private String fHeader; 27 ChooseManifestClassResolution(int type, String headerName, IMarker marker)28 public ChooseManifestClassResolution(int type, String headerName, IMarker marker) { 29 super(type, marker); 30 fHeader = headerName; 31 } 32 33 @Override createChange(BundleModel model)34 protected void createChange(BundleModel model) { 35 IManifestHeader header = model.getBundle().getManifestHeader(fHeader); 36 String type = PDEJavaHelperUI.selectType(fResource, IJavaElementSearchConstants.CONSIDER_CLASSES); 37 if (type != null) 38 header.setValue(type); 39 } 40 41 @Override getLabel()42 public String getLabel() { 43 return NLS.bind(PDEUIMessages.ChooseManifestClassResolution_label, fHeader); 44 } 45 46 } 47