List of usage examples for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT
int PACKAGE_FRAGMENT
To view the source code for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT.
Click Source Link
From source file:org.eclipse.pde.api.tools.ui.internal.wizards.CompareOperation.java
License:Open Source License
/** * @param structuredSelection/*from ww w . j a va 2 s. com*/ * @param monitor * @return the scope */ public static ApiScope walkStructureSelection(IStructuredSelection structuredSelection, IProgressMonitor monitor) { Object[] selected = structuredSelection.toArray(); ApiScope scope = new ApiScope(); IApiBaseline workspaceBaseline = ApiBaselineManager.getManager().getWorkspaceBaseline(); if (workspaceBaseline == null) { return scope; } Arrays.sort(selected, new Comparator<Object>() { @Override public int compare(Object o1, Object o2) { if (o1 instanceof IJavaElement && o2 instanceof IJavaElement) { IJavaElement element = (IJavaElement) o1; IJavaElement element2 = (IJavaElement) o2; return element.getElementType() - element2.getElementType(); } return 0; } }); int length = selected.length; for (int i = 0; i < length; i++) { Object currentSelection = selected[i]; if (currentSelection instanceof IJavaElement) { IJavaElement element = (IJavaElement) currentSelection; IJavaProject javaProject = element.getJavaProject(); try { switch (element.getElementType()) { case IJavaElement.COMPILATION_UNIT: { ICompilationUnit compilationUnit = (ICompilationUnit) element; IApiComponent apiComponent = workspaceBaseline .getApiComponent(javaProject.getElementName()); if (apiComponent != null) { addElementFor(compilationUnit, apiComponent, scope); } break; } case IJavaElement.PACKAGE_FRAGMENT: { IPackageFragment fragment = (IPackageFragment) element; IApiComponent apiComponent = workspaceBaseline .getApiComponent(javaProject.getElementName()); IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) fragment .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); boolean isArchive = false; if (packageFragmentRoot != null) { isArchive = packageFragmentRoot.isArchive(); } if (apiComponent != null) { addElementFor(fragment, isArchive, apiComponent, scope); } break; } case IJavaElement.PACKAGE_FRAGMENT_ROOT: { IPackageFragmentRoot fragmentRoot = (IPackageFragmentRoot) element; IApiComponent apiComponent = workspaceBaseline .getApiComponent(javaProject.getElementName()); if (apiComponent != null) { addElementFor(fragmentRoot, apiComponent, scope); } break; } case IJavaElement.JAVA_PROJECT: IApiComponent apiComponent = workspaceBaseline .getApiComponent(javaProject.getElementName()); if (apiComponent != null) { scope.addElement(apiComponent); } break; default: break; } } catch (JavaModelException e) { ApiPlugin.log(e); } catch (CoreException e) { ApiPlugin.log(e); } } } return scope; }
From source file:org.eclipse.pde.ds.internal.annotations.ComponentRefactoringHelper.java
License:Open Source License
public RefactoringStatus checkConditions(IProgressMonitor monitor, CheckConditionsContext context) throws OperationCanceledException { SubMonitor progress = SubMonitor.convert(monitor, Messages.ComponentRefactoringHelper_checkConditionsTaskLabel, elements.size()); try {/*from w w w . j a v a 2 s .c om*/ modelFiles = new HashMap<>(elements.size()); componentNames = new HashMap<>(elements.size()); renames = new HashMap<>(elements.size()); HashMap<IJavaProject, ProjectState> states = new HashMap<>(); HashSet<IJavaProject> unmanaged = new HashSet<>(); ResourceChangeChecker checker = (ResourceChangeChecker) context.getChecker(ResourceChangeChecker.class); IResourceChangeDescriptionFactory deltaFactory = checker.getDeltaFactory(); for (Map.Entry<Object, RefactoringArguments> entry : elements.entrySet()) { if (progress.isCanceled()) throw new OperationCanceledException(); progress.worked(1); RefactoringArguments args = entry.getValue(); if (!getUpdateReferences(args)) continue; IJavaElement element = (IJavaElement) entry.getKey(); IJavaProject javaProject = element.getJavaProject(); if (unmanaged.contains(javaProject)) continue; ProjectState state = states.get(javaProject); if (state == null) { state = DSAnnotationCompilationParticipant.getState(javaProject); } if (state == null) { unmanaged.add(javaProject); continue; } states.put(javaProject, state); if (element.getElementType() == IJavaElement.TYPE) createRenames((IType) element, args, state, deltaFactory); else if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) createRenames((IPackageFragment) element, args, state, deltaFactory); } return new RefactoringStatus(); } catch (JavaModelException e) { // TODO double-check! return RefactoringStatus.create(e.getStatus()); } }
From source file:org.eclipse.pde.ds.internal.annotations.ComponentRefactoringHelper.java
License:Open Source License
public Change createChange(IProgressMonitor monitor) throws CoreException, OperationCanceledException { SubMonitor progress = SubMonitor.convert(monitor, Messages.ComponentRefactoringHelper_createChangeTaskLabel, elements.size());/*from ww w. ja va2 s. com*/ CompositeChange compositeChange = new CompositeChange( Messages.ComponentRefactoringHelper_topLevelChangeLabel); for (Map.Entry<Object, RefactoringArguments> entry : elements.entrySet()) { if (progress.isCanceled()) throw new OperationCanceledException(); progress.worked(1); RefactoringArguments args = entry.getValue(); if (!getUpdateReferences(args)) continue; IJavaElement element = (IJavaElement) entry.getKey(); if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) collectChanges((IPackageFragment) element, compositeChange); else if (element.getElementType() == IJavaElement.TYPE) collectChanges((IType) element, compositeChange); } return compositeChange; }
From source file:org.eclipse.pde.ds.internal.annotations.ComponentRenameParticipant.java
License:Open Source License
public String getComponentNameRoot(IJavaElement element, RefactoringArguments args) { String newName = ((RenameArguments) args).getNewName(); if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { return newName; }// ww w. j a va 2 s . com IType type = (IType) element; String compName; IType container = type.getDeclaringType(); if (container == null) { compName = String.format("%s.%s", type.getPackageFragment().getElementName(), newName); //$NON-NLS-1$ } else { compName = container.getType(newName).getFullyQualifiedName(); } return compName; }
From source file:org.eclipse.pde.internal.ui.correction.java.QuickFixProcessor.java
License:Open Source License
private void handleAccessRestrictionProblem(IInvocationContext context, IProblemLocation location, AbstractClassResolutionCollector collector) { IBinding referencedElement = null;/*from w w w . j av a 2 s . c o m*/ ASTNode node = location.getCoveredNode(context.getASTRoot()); if (node instanceof Type) { referencedElement = ((Type) node).resolveBinding(); } else if (node instanceof Name) { referencedElement = ((Name) node).resolveBinding(); } else if (node instanceof MethodInvocation) { IMethodBinding tempMethod = ((MethodInvocation) node).resolveMethodBinding(); if (tempMethod != null) { referencedElement = tempMethod.getDeclaringClass(); } } else if (node instanceof FieldAccess) { IVariableBinding tempVariable = ((FieldAccess) node).resolveFieldBinding(); if (tempVariable != null) { referencedElement = tempVariable.getDeclaringClass(); } } if (referencedElement != null) { // get the project that contains the reference element // ensure it exists in the workspace and is a plug-in project IJavaProject referencedJavaProject = referencedElement.getJavaElement().getJavaProject(); if (referencedJavaProject != null && WorkspaceModelManager.isPluginProject(referencedJavaProject.getProject())) { IPackageFragment referencedPackage = (IPackageFragment) referencedElement.getJavaElement() .getAncestor(IJavaElement.PACKAGE_FRAGMENT); IJavaProject currentProject = context.getCompilationUnit().getJavaProject(); // only find proposals for Plug-in projects if (!WorkspaceModelManager.isPluginProject(currentProject.getProject())) return; // get the packages exported by the referenced plug-in project if (!referencedJavaProject.equals(currentProject)) { IPluginModelBase referencedModel = PluginRegistry.findModel(referencedJavaProject.getProject()); ExportPackageDescription[] exportPackages = referencedModel.getBundleDescription() .getExportPackages(); // check if the required package is exported already boolean packageExported = false; if (referencedPackage != null) { for (ExportPackageDescription exportPackage : exportPackages) { if (exportPackage.getName().equals(referencedPackage.getElementName())) { packageExported = true; // check to see if access restriction is caused by Import-Package handleAccessRestrictionByImportPackage( context.getCompilationUnit().getJavaProject().getProject(), exportPackage, collector); break; } } // if the package is not exported, add the quickfix if (!packageExported) { collector.addExportPackageResolutionModification(referencedPackage); } } } else { handleAccessRestrictionByImportPackage(referencedPackage, collector); } } } }
From source file:org.eclipse.pde.internal.ui.search.ClassSearchParticipant.java
License:Open Source License
public void search(ISearchRequestor requestor, QuerySpecification querySpecification, IProgressMonitor monitor) throws CoreException { if (querySpecification.getLimitTo() != S_LIMIT_REF && querySpecification.getLimitTo() != S_LIMIT_ALL) return;//from w ww. ja va 2 s. com String search; if (querySpecification instanceof ElementQuerySpecification) { IJavaElement element = ((ElementQuerySpecification) querySpecification).getElement(); if (element instanceof IType) search = ((IType) element).getFullyQualifiedName('.'); else search = element.getElementName(); int type = element.getElementType(); if (type == IJavaElement.TYPE) fSearchFor = S_FOR_TYPES; else if (type == IJavaElement.PACKAGE_FRAGMENT || type == IJavaElement.PACKAGE_FRAGMENT_ROOT) fSearchFor = S_FOR_PACKAGES; } else { fSearchFor = ((PatternQuerySpecification) querySpecification).getSearchFor(); search = ((PatternQuerySpecification) querySpecification).getPattern(); } if (fSearchFor != S_FOR_TYPES && fSearchFor != S_FOR_PACKAGES) return; fSearchPattern = PatternConstructor.createPattern(search, true); fSearchRequestor = requestor; IPath[] enclosingPaths = querySpecification.getScope().enclosingProjectsAndJars(); IPluginModelBase[] pluginModels = PluginRegistry.getWorkspaceModels(); monitor.beginTask(PDEUIMessages.ClassSearchParticipant_taskMessage, pluginModels.length); for (int i = 0; i < pluginModels.length; i++) { IProject project = pluginModels[i].getUnderlyingResource().getProject(); if (!monitor.isCanceled() && encloses(enclosingPaths, project.getFullPath())) searchProject(project, monitor); } }
From source file:org.eclipse.recommenders.internal.apidocs.rcp.ApidocsView.java
License:Open Source License
private void addCurrentSelectionHeader() { final IJavaElement element = activeSelection.getElement(); final String text; switch (element.getElementType()) { case IJavaElement.PACKAGE_FRAGMENT_ROOT: case IJavaElement.PACKAGE_FRAGMENT: text = element.getElementName(); break;//ww w. ja va 2 s .c o m case IJavaElement.LOCAL_VARIABLE: text = JavaElementLabels.getElementLabel(element, JavaElementLabels.F_PRE_TYPE_SIGNATURE | JavaElementLabels.F_POST_QUALIFIED); break; default: text = JavaElementLabels.getElementLabel(element, LABEL_FLAGS); break; } Composite header = new Composite(content, SWT.NONE); ApidocsViewUtils.setInfoBackgroundColor(header); header.setLayout(new GridLayout(2, false)); Label img = new Label(header, SWT.NONE); img.setImage(labelProvider.getImage(element)); setInfoForegroundColor(img); setInfoBackgroundColor(img); Label name = createLabel(header, text, true); name.setFont(JFaceResources.getHeaderFont()); }
From source file:org.eclipse.recommenders.internal.apidocs.rcp.StaticHooksProvider.java
License:Open Source License
@JavaSelectionSubscriber public void onPackageRootSelection(final IPackageFragmentRoot root, final JavaElementSelectionEvent event, final Composite parent) throws ExecutionException { final TreeMultimap<IType, IMethod> index = TreeMultimap.create(new TypeNameComparator(), new MethodNameComparator()); try {//from w w w .j a va 2 s .com for (final IJavaElement e : root.getChildren()) { if (e.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { final IPackageFragment pkg = (IPackageFragment) e; findStaticHooks(pkg, index); pkg.close(); } } } catch (final Exception x) { log(ERROR_FAILED_TO_DETERMINE_STATIC_MEMBERS, x, root.getElementName()); } runSyncInUiThread(new HooksRendererRunnable(index, parent)); }
From source file:org.eclipse.recommenders.internal.apidocs.rcp.StaticHooksProvider.java
License:Open Source License
@JavaSelectionSubscriber public void onJavaElementSelection(final IJavaElement e, final JavaElementSelectionEvent event, final Composite parent) throws ExecutionException { IPackageFragment pkg = (IPackageFragment) e.getAncestor(IJavaElement.PACKAGE_FRAGMENT); if (pkg != null) { onPackageSelection(pkg, event, parent); }/*from ww w . j a v a 2s .c om*/ }
From source file:org.eclipse.recommenders.internal.rcp.JavaElementSelections.java
License:Open Source License
public static JavaElementSelectionLocation resolveSelectionLocationFromJavaElement(final IJavaElement element) { ensureIsNotNull(element);/*from w w w . java 2s.c om*/ switch (element.getElementType()) { case IJavaElement.CLASS_FILE: case IJavaElement.COMPILATION_UNIT: case IJavaElement.PACKAGE_DECLARATION: case IJavaElement.IMPORT_DECLARATION: case IJavaElement.IMPORT_CONTAINER: case IJavaElement.TYPE: return TYPE_DECLARATION; case IJavaElement.METHOD: case IJavaElement.INITIALIZER: return METHOD_DECLARATION; case IJavaElement.FIELD: return FIELD_DECLARATION; case IJavaElement.LOCAL_VARIABLE: // shouldn't happen in a viewer selection, right? return METHOD_BODY; case IJavaElement.JAVA_MODEL: case IJavaElement.PACKAGE_FRAGMENT: case IJavaElement.PACKAGE_FRAGMENT_ROOT: case IJavaElement.ANNOTATION: default: return JavaElementSelectionLocation.UNKNOWN; } }