List of usage examples for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT
int PACKAGE_FRAGMENT_ROOT
To view the source code for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT.
Click Source Link
From source file:org.eclipse.che.jdt.javadoc.JavadocContentAccess2.java
License:Open Source License
/** * Returns the Javadoc for a package which could be present in package.html, package-info.java * or from an attached Javadoc.//w w w . j a v a2 s . c om * * @param packageFragment the package which is requesting for the document * @param urlPrefix * @return the document content in HTML format or <code>null</code> if there is no associated * Javadoc * @throws CoreException if the Java element does not exists or an exception occurs while * accessing the file containing the package Javadoc * @since 3.9 */ public static String getHTMLContent(IPackageFragment packageFragment, String urlPrefix) throws CoreException { IPackageFragmentRoot root = (IPackageFragmentRoot) packageFragment .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); //1==> Handle the case when the documentation is present in package-info.java or package-info.class file ITypeRoot packageInfo; boolean isBinary = root.getKind() == IPackageFragmentRoot.K_BINARY; if (isBinary) { packageInfo = packageFragment.getClassFile(JavaModelUtil.PACKAGE_INFO_CLASS); } else { packageInfo = packageFragment.getCompilationUnit(JavaModelUtil.PACKAGE_INFO_JAVA); } if (packageInfo != null && packageInfo.exists()) { String cuSource = packageInfo.getSource(); //the source can be null for some of the class files if (cuSource != null) { Javadoc packageJavadocNode = getPackageJavadocNode(packageFragment, cuSource); if (packageJavadocNode != null) { IJavaElement element; if (isBinary) { element = ((IClassFile) packageInfo).getType(); } else { element = packageInfo.getParent(); // parent is the IPackageFragment } return new JavadocContentAccess2(element, packageJavadocNode, cuSource, urlPrefix).toHTML(); } } } // 2==> Handle the case when the documentation is done in package.html file. The file can be either in normal source folder or // coming from a jar file else { Object[] nonJavaResources = packageFragment.getNonJavaResources(); // 2.1 ==>If the package.html file is present in the source or directly in the binary jar for (Object nonJavaResource : nonJavaResources) { if (nonJavaResource instanceof IFile) { IFile iFile = (IFile) nonJavaResource; if (iFile.exists() && JavaModelUtil.PACKAGE_HTML.equals(iFile.getName())) { return getIFileContent(iFile); } } } // 2.2==>The file is present in a binary container if (isBinary) { for (Object nonJavaResource : nonJavaResources) { // The content is from an external binary class folder if (nonJavaResource instanceof IJarEntryResource) { IJarEntryResource jarEntryResource = (IJarEntryResource) nonJavaResource; String encoding = getSourceAttachmentEncoding(root); if (JavaModelUtil.PACKAGE_HTML.equals(jarEntryResource.getName()) && jarEntryResource.isFile()) { return getHTMLContent(jarEntryResource, encoding); } } } //2.3 ==>The file is present in the source attachment path. String contents = getHTMLContentFromAttachedSource(root, packageFragment, urlPrefix); if (contents != null) return contents; } } //3==> Handle the case when the documentation is coming from the attached Javadoc if ((root.isArchive() || root.isExternal())) { return packageFragment.getAttachedJavadoc(null); } return null; }
From source file:org.eclipse.che.jdt.javadoc.JavaElementLinks.java
License:Open Source License
private static ITypeParameter resolveTypeVariable(IJavaElement baseElement, String typeVariableName) throws JavaModelException { while (baseElement != null) { switch (baseElement.getElementType()) { case IJavaElement.METHOD: IMethod method = (IMethod) baseElement; ITypeParameter[] typeParameters = method.getTypeParameters(); for (int i = 0; i < typeParameters.length; i++) { ITypeParameter typeParameter = typeParameters[i]; if (typeParameter.getElementName().equals(typeVariableName)) { return typeParameter; }/*from w w w . j a v a2s .c om*/ } break; case IJavaElement.TYPE: IType type = (IType) baseElement; typeParameters = type.getTypeParameters(); for (int i = 0; i < typeParameters.length; i++) { ITypeParameter typeParameter = typeParameters[i]; if (typeParameter.getElementName().equals(typeVariableName)) { return typeParameter; } } break; case IJavaElement.JAVA_MODEL: case IJavaElement.JAVA_PROJECT: case IJavaElement.PACKAGE_FRAGMENT: case IJavaElement.PACKAGE_FRAGMENT_ROOT: case IJavaElement.CLASS_FILE: case IJavaElement.COMPILATION_UNIT: case IJavaElement.PACKAGE_DECLARATION: case IJavaElement.IMPORT_CONTAINER: case IJavaElement.IMPORT_DECLARATION: return null; default: break; } // look for type parameters in enclosing members: baseElement = baseElement.getParent(); } return null; }
From source file:org.eclipse.che.jdt.JavadocFinder.java
License:Open Source License
private String getJavadoc(IMember element) { StringBuffer buffer = new StringBuffer(); boolean hasContents = false; if (element instanceof IPackageFragment || element instanceof IMember) { HTMLPrinter.addSmallHeader(buffer, getInfoText(element, element.getTypeRoot(), true)); buffer.append("<br>"); //$NON-NLS-1$ addAnnotations(buffer, element, element.getTypeRoot(), null); Reader reader = null;//from w w w.j a v a 2s.co m try { String content = element instanceof IMember ? JavadocContentAccess2.getHTMLContent(element, true, baseHref) : null;//JavadocContentAccess2.getHTMLContent((IPackageFragment)element); IPackageFragmentRoot root = (IPackageFragmentRoot) element .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); if (content != null) { reader = new StringReader(content); } else { String explanationForMissingJavadoc = JavaDocLocations.getExplanationForMissingJavadoc(element, root); if (explanationForMissingJavadoc != null) reader = new StringReader(explanationForMissingJavadoc); } } catch (CoreException ex) { reader = new StringReader(JavaDocLocations.handleFailedJavadocFetch(ex)); } if (reader != null) { HTMLPrinter.addParagraph(buffer, reader); } hasContents = true; } if (!hasContents) return null; if (buffer.length() > 0) { HTMLPrinter.insertPageProlog(buffer, 0, getStyleSheet()); HTMLPrinter.addPageEpilog(buffer); return buffer.toString(); } return null; }
From source file:org.eclipse.che.jdt.refactoring.session.RenameLinkedModeRefactoringSession.java
License:Open Source License
/** * Creates a rename descriptor./*from w w w. j a va2s . c o m*/ * * @param javaElement element to rename * @param newName new name * @return a rename descriptor with current settings as used in the refactoring dialogs * @throws JavaModelException if an error occurs while accessing the element */ private RenameJavaElementDescriptor createRenameDescriptor(IJavaElement javaElement, String newName) throws JavaModelException { String contributionId; // see RefactoringExecutionStarter#createRenameSupport(..): int elementType = javaElement.getElementType(); switch (elementType) { case IJavaElement.JAVA_PROJECT: contributionId = IJavaRefactorings.RENAME_JAVA_PROJECT; break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: contributionId = IJavaRefactorings.RENAME_SOURCE_FOLDER; break; case IJavaElement.PACKAGE_FRAGMENT: contributionId = IJavaRefactorings.RENAME_PACKAGE; break; case IJavaElement.COMPILATION_UNIT: contributionId = IJavaRefactorings.RENAME_COMPILATION_UNIT; break; case IJavaElement.TYPE: contributionId = IJavaRefactorings.RENAME_TYPE; break; case IJavaElement.METHOD: final IMethod method = (IMethod) javaElement; if (method.isConstructor()) return createRenameDescriptor(method.getDeclaringType(), newName); else contributionId = IJavaRefactorings.RENAME_METHOD; break; case IJavaElement.FIELD: IField field = (IField) javaElement; if (field.isEnumConstant()) contributionId = IJavaRefactorings.RENAME_ENUM_CONSTANT; else contributionId = IJavaRefactorings.RENAME_FIELD; break; case IJavaElement.TYPE_PARAMETER: contributionId = IJavaRefactorings.RENAME_TYPE_PARAMETER; break; case IJavaElement.LOCAL_VARIABLE: contributionId = IJavaRefactorings.RENAME_LOCAL_VARIABLE; break; default: return null; } RenameJavaElementDescriptor descriptor = (RenameJavaElementDescriptor) RefactoringCore .getRefactoringContribution(contributionId).createDescriptor(); descriptor.setJavaElement(javaElement); descriptor.setNewName(newName); if (elementType != IJavaElement.PACKAGE_FRAGMENT_ROOT) descriptor.setUpdateReferences(true); // IDialogSettings javaSettings= JavaPlugin.getDefault().getDialogSettings(); // IDialogSettings refactoringSettings= javaSettings.getSection(RefactoringWizardPage.REFACTORING_SETTINGS); //TODO: undocumented API // if (refactoringSettings == null) { // refactoringSettings= javaSettings.addNewSection(RefactoringWizardPage.REFACTORING_SETTINGS); // } switch (elementType) { case IJavaElement.METHOD: case IJavaElement.FIELD: descriptor.setDeprecateDelegate( /*refactoringSettings.getBoolean(DelegateUIHelper.DELEGATE_DEPRECATION)*/false); descriptor .setKeepOriginal(/*refactoringSettings.getBoolean(DelegateUIHelper.DELEGATE_UPDATING)*/ false); } switch (elementType) { case IJavaElement.TYPE: // case IJavaElement.COMPILATION_UNIT: // TODO descriptor.setUpdateSimilarDeclarations( /*refactoringSettings.getBoolean(RenameRefactoringWizard.TYPE_UPDATE_SIMILAR_ELEMENTS)*/ false); int strategy; try { strategy = 1; //refactoringSettings.getInt(RenameRefactoringWizard.TYPE_SIMILAR_MATCH_STRATEGY); } catch (NumberFormatException e) { strategy = RenamingNameSuggestor.STRATEGY_EXACT; } descriptor.setMatchStrategy(strategy); } switch (elementType) { case IJavaElement.PACKAGE_FRAGMENT: descriptor.setUpdateHierarchy( /*refactoringSettings.getBoolean(RenameRefactoringWizard.PACKAGE_RENAME_SUBPACKAGES)*/true); } switch (elementType) { case IJavaElement.PACKAGE_FRAGMENT: case IJavaElement.TYPE: String fileNamePatterns = /*refactoringSettings.get(RenameRefactoringWizard.QUALIFIED_NAMES_PATTERNS)*/"*"; if (fileNamePatterns != null && fileNamePatterns.length() != 0) { descriptor.setFileNamePatterns(fileNamePatterns); boolean updateQualifiedNames = /*refactoringSettings.getBoolean(RenameRefactoringWizard.UPDATE_QUALIFIED_NAMES)*/false; descriptor.setUpdateQualifiedNames(updateQualifiedNames); // fShowPreview|= updateQualifiedNames; } } switch (elementType) { case IJavaElement.PACKAGE_FRAGMENT: case IJavaElement.TYPE: case IJavaElement.FIELD: boolean updateTextualOccurrences = false; //refactoringSettings.getBoolean(RenameRefactoringWizard.UPDATE_TEXTUAL_MATCHES); descriptor.setUpdateTextualOccurrences(updateTextualOccurrences); // fShowPreview|= updateTextualOccurrences; } switch (elementType) { case IJavaElement.FIELD: descriptor.setRenameGetters( /*refactoringSettings.getBoolean(RenameRefactoringWizard.FIELD_RENAME_GETTER)*/false); descriptor.setRenameSetters( /*refactoringSettings.getBoolean(RenameRefactoringWizard.FIELD_RENAME_SETTER)*/false); } return descriptor; }
From source file:org.eclipse.che.jdt.util.JavaModelUtil.java
License:Open Source License
private static void addAllCus(HashSet<ICompilationUnit> collector, IJavaElement javaElement) throws JavaModelException { switch (javaElement.getElementType()) { case IJavaElement.JAVA_PROJECT: IJavaProject javaProject = (IJavaProject) javaElement; IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots(); for (int i = 0; i < packageFragmentRoots.length; i++) addAllCus(collector, packageFragmentRoots[i]); return;// ww w. j av a 2 s. c om case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) javaElement; if (packageFragmentRoot.getKind() != IPackageFragmentRoot.K_SOURCE) return; IJavaElement[] packageFragments = packageFragmentRoot.getChildren(); for (int j = 0; j < packageFragments.length; j++) addAllCus(collector, packageFragments[j]); return; case IJavaElement.PACKAGE_FRAGMENT: IPackageFragment packageFragment = (IPackageFragment) javaElement; collector.addAll(Arrays.asList(packageFragment.getCompilationUnits())); return; case IJavaElement.COMPILATION_UNIT: collector.add((ICompilationUnit) javaElement); return; default: IJavaElement cu = javaElement.getAncestor(IJavaElement.COMPILATION_UNIT); if (cu != null) collector.add((ICompilationUnit) cu); } }
From source file:org.eclipse.e4.demo.simpleide.jdt.internal.editor.viewer.JavaElementLabelComposer.java
License:Open Source License
/** * Appends the label for a Java element with the flags as defined by this * class./*from w ww. j av a 2 s . c om*/ * * @param element * the element to render * @param flags * the rendering flags. */ public void appendElementLabel(IJavaElement element, long flags) { int type = element.getElementType(); IPackageFragmentRoot root = null; if (type != IJavaElement.JAVA_MODEL && type != IJavaElement.JAVA_PROJECT && type != IJavaElement.PACKAGE_FRAGMENT_ROOT) root = JavaModelUtil.getPackageFragmentRoot(element); if (root != null && getFlag(flags, JavaElementLabels.PREPEND_ROOT_PATH)) { appendPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED); fBuffer.append(JavaElementLabels.CONCAT_STRING); } switch (type) { case IJavaElement.METHOD: appendMethodLabel((IMethod) element, flags); break; case IJavaElement.FIELD: appendFieldLabel((IField) element, flags); break; case IJavaElement.LOCAL_VARIABLE: appendLocalVariableLabel((ILocalVariable) element, flags); break; case IJavaElement.TYPE_PARAMETER: appendTypeParameterLabel((ITypeParameter) element, flags); break; case IJavaElement.INITIALIZER: appendInitializerLabel((IInitializer) element, flags); break; case IJavaElement.TYPE: appendTypeLabel((IType) element, flags); break; case IJavaElement.CLASS_FILE: appendClassFileLabel((IClassFile) element, flags); break; case IJavaElement.COMPILATION_UNIT: appendCompilationUnitLabel((ICompilationUnit) element, flags); break; case IJavaElement.PACKAGE_FRAGMENT: appendPackageFragmentLabel((IPackageFragment) element, flags); break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: appendPackageFragmentRootLabel((IPackageFragmentRoot) element, flags); break; case IJavaElement.IMPORT_CONTAINER: case IJavaElement.IMPORT_DECLARATION: case IJavaElement.PACKAGE_DECLARATION: appendDeclarationLabel(element, flags); break; case IJavaElement.JAVA_PROJECT: case IJavaElement.JAVA_MODEL: fBuffer.append(element.getElementName()); break; default: fBuffer.append(element.getElementName()); } if (root != null && getFlag(flags, JavaElementLabels.APPEND_ROOT_PATH)) { int offset = fBuffer.length(); fBuffer.append(JavaElementLabels.CONCAT_STRING); appendPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED); if (getFlag(flags, JavaElementLabels.COLORIZE)) { fBuffer.setStyle(offset, fBuffer.length() - offset, QUALIFIER_STYLE); } } }
From source file:org.eclipse.emf.cdo.releng.apireports.ApiReportsActor.java
License:Open Source License
public static ApiScope walkStructureSelection(List<Object> projects, IProgressMonitor monitor) { ApiScope scope = new ApiScope(); IApiBaseline workspaceBaseline = ApiBaselineManager.getManager().getWorkspaceBaseline(); if (workspaceBaseline == null) { return scope; }//from w w w .ja v a2 s. co m Collections.sort(projects, new Comparator() { 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; } }); for (Object project : projects) { if (project instanceof IJavaElement) { IJavaElement element = (IJavaElement) project; 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; } } catch (JavaModelException e) { ApiPlugin.log(e); } catch (CoreException e) { ApiPlugin.log(e); } } } return scope; }
From source file:org.eclipse.gmf.tests.JDTUtil.java
License:Open Source License
private void collectProblems(IJavaElement jElement, IMemberProcessor[] processors) { try {//from w w w . j ava2 s . c o m switch (jElement.getElementType()) { case IJavaElement.JAVA_PROJECT: { IJavaProject jProject = (IJavaProject) jElement; IPackageFragmentRoot[] roots = jProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) { collectProblems(roots[i], processors); } } } break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: { IPackageFragmentRoot root = (IPackageFragmentRoot) jElement; IJavaElement[] children = root.getChildren(); for (int i = 0; i < children.length; i++) { collectProblems(children[i], processors); } } break; case IJavaElement.PACKAGE_FRAGMENT: { IPackageFragment pf = (IPackageFragment) jElement; ICompilationUnit[] compilationUnits = pf.getCompilationUnits(); for (int i = 0; i < compilationUnits.length; i++) { collectProblems(compilationUnits[i], processors); } } break; case IJavaElement.COMPILATION_UNIT: { ICompilationUnit compilationUnit = (ICompilationUnit) jElement; IType[] types = compilationUnit.getTypes(); for (int i = 0; i < types.length; i++) { collectProblems(types[i], processors); } } break; case IJavaElement.TYPE: { IMember member = (IMember) jElement; collectProblems(member, processors, false); } break; } } catch (JavaModelException e) { myAggregator.add(e.getStatus()); } }
From source file:org.eclipse.gmt.modisco.jm2t.modelconverter.javamodisco.internal.core.DiscovererFactory.java
License:Open Source License
public IExtendedDiscover createDiscoverer(IJavaElement element) { int type = element.getElementType(); switch (type) { case IJavaElement.JAVA_PROJECT: return new ExtendedDiscoverJavaModelFromJavaProject((IJavaProject) element); case IJavaElement.COMPILATION_UNIT: return new ExtendedDiscoverJavaModelFromCompilationUnit((ICompilationUnit) element); case IJavaElement.CLASS_FILE: return new ExtendedDiscoverJavaModelFromClassFile((IClassFile) element); case IJavaElement.TYPE: return createDiscoverer(element.getParent()); case IJavaElement.PACKAGE_FRAGMENT: IPackageFragment packageFragment = (IPackageFragment) element; break;/*from ww w. ja va 2 s.c o m*/ case IJavaElement.PACKAGE_FRAGMENT_ROOT: // src folder is selected IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) element; return createDiscoverer(packageFragmentRoot.getParent()); } return null; }
From source file:org.eclipse.imp.ui.explorer.ProjectExplorerActionGroup.java
License:Open Source License
private boolean isGoIntoTarget(Object element) { if (element == null) return false; if (element instanceof IJavaElement) { int type = ((IJavaElement) element).getElementType(); return type == IJavaElement.JAVA_PROJECT || type == IJavaElement.PACKAGE_FRAGMENT_ROOT || type == IJavaElement.PACKAGE_FRAGMENT; }/*w ww.j a v a 2s. c om*/ if (element instanceof IWorkingSet) { return true; } return false; }