List of usage examples for org.eclipse.jdt.core IJavaElement JAVA_PROJECT
int JAVA_PROJECT
To view the source code for org.eclipse.jdt.core IJavaElement JAVA_PROJECT.
Click Source Link
From source file:edu.brown.cs.bubbles.bedrock.BedrockJava.java
License:Open Source License
/********************************************************************************/ void getFullyQualifiedName(String proj, String file, int start, int end, IvyXmlWriter xw) throws BedrockException { String name = null;// ww w. j av a 2 s . co m String key = null; String sgn = null; String hdl = null; ICompilationUnit icu = our_plugin.getProjectManager().getCompilationUnit(proj, file); if (icu == null) throw new BedrockException("Compilation unit not found for " + file); icu = getCompilationElement(icu); try { IJavaElement[] elts = icu.codeSelect(start, end - start); for (int i = 0; i < elts.length && name == null; ++i) { switch (elts[i].getElementType()) { case IJavaElement.JAVA_PROJECT: case IJavaElement.JAVA_MODEL: case IJavaElement.PACKAGE_FRAGMENT_ROOT: case IJavaElement.CLASS_FILE: case IJavaElement.PACKAGE_FRAGMENT: case IJavaElement.IMPORT_CONTAINER: case IJavaElement.IMPORT_DECLARATION: case IJavaElement.TYPE_PARAMETER: case IJavaElement.COMPILATION_UNIT: default: break; case IJavaElement.TYPE: IType typ = (IType) elts[i]; name = typ.getFullyQualifiedName(); key = typ.getKey(); break; case IJavaElement.FIELD: IField fld = ((IField) elts[i]); name = fld.getDeclaringType().getFullyQualifiedName() + "." + fld.getElementName(); key = fld.getKey(); sgn = fld.getTypeSignature(); break; case IJavaElement.METHOD: IMethod mthd = ((IMethod) elts[i]); name = mthd.getDeclaringType().getFullyQualifiedName() + "." + mthd.getElementName(); key = mthd.getKey(); sgn = mthd.getSignature(); // TODO: might want to add signture here as well break; case IJavaElement.INITIALIZER: IInitializer init = ((IInitializer) elts[i]); name = init.getDeclaringType().getFullyQualifiedName() + ".<clinit>"; break; case IJavaElement.PACKAGE_DECLARATION: name = ((IPackageDeclaration) elts[i]).getElementName(); break; case IJavaElement.LOCAL_VARIABLE: ILocalVariable lcl = (ILocalVariable) elts[i]; name = lcl.getHandleIdentifier(); sgn = lcl.getTypeSignature(); break; } hdl = elts[i].getHandleIdentifier(); } } catch (CoreException e) { throw new BedrockException("Problem getting name", e); } if (name == null) { return; // throw new BedrockException("No identifier at location"); } xw.begin("FULLYQUALIFIEDNAME"); xw.field("NAME", name); if (key != null) xw.field("KEY", key); if (sgn != null) xw.field("TYPE", sgn); if (hdl != null) xw.field("HANDLE", hdl); xw.end(); }
From source file:edu.brown.cs.bubbles.bedrock.BedrockJava.java
License:Open Source License
/********************************************************************************/ private IJavaElement[] getSearchElements(IJavaElement[] pelt) { List<IJavaElement> active = new ArrayList<IJavaElement>(); Set<IJavaProject> done = new HashSet<IJavaProject>(); for (IJavaElement je : pelt) { if (je.getElementType() == IJavaElement.JAVA_PROJECT) { IJavaProject jp = (IJavaProject) je; addProjectElements(jp, done, active); } else//from ww w . j av a 2s .com active.add(je); } int sz = active.size(); pelt = new IJavaElement[sz]; pelt = active.toArray(pelt); return pelt; }
From source file:edu.brown.cs.bubbles.bedrock.BedrockUtil.java
License:Open Source License
private static void outputJavaElementImpl(IJavaElement elt, Set<String> files, boolean children, IvyXmlWriter xw) {//w w w .ja v a 2s .c o m if (elt == null) return; String close = null; switch (elt.getElementType()) { case IJavaElement.CLASS_FILE: return; case IJavaElement.PACKAGE_FRAGMENT: IOpenable opn = (IOpenable) elt; if (!opn.isOpen()) { try { opn.open(null); } catch (JavaModelException e) { BedrockPlugin.logE("Package framgent " + elt.getElementName() + " not open"); return; } } try { outputNameDetails((IPackageFragment) elt, xw); } catch (JavaModelException e) { } break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot pfr = (IPackageFragmentRoot) elt; try { if (!pfr.isOpen() && pfr.getKind() == IPackageFragmentRoot.K_SOURCE) { pfr.open(null); } } catch (JavaModelException e) { return; } outputNameDetails(pfr, xw); break; case IJavaElement.JAVA_PROJECT: IJavaProject ijp = (IJavaProject) elt; outputNameDetails(ijp, xw); break; case IJavaElement.JAVA_MODEL: case IJavaElement.IMPORT_CONTAINER: case IJavaElement.IMPORT_DECLARATION: case IJavaElement.TYPE_PARAMETER: default: break; case IJavaElement.COMPILATION_UNIT: IProject ip = elt.getJavaProject().getProject(); File f = getFileForPath(elt.getPath(), ip); if (files != null && !files.contains(f.getPath()) && !files.contains(f.getAbsolutePath())) { return; } xw.begin("FILE"); xw.textElement("PATH", f.getAbsolutePath()); String root = getRootForPath(elt.getPath(), ip); if (root != null) xw.textElement("PATHROOT", root); close = "FILE"; break; case IJavaElement.TYPE: try { outputNameDetails((IType) elt, xw); } catch (JavaModelException e) { } break; case IJavaElement.FIELD: try { outputNameDetails((IField) elt, xw); } catch (JavaModelException e) { } break; case IJavaElement.METHOD: try { outputNameDetails((IMethod) elt, xw); } catch (JavaModelException e) { } break; case IJavaElement.INITIALIZER: outputNameDetails((IInitializer) elt, xw); break; case IJavaElement.PACKAGE_DECLARATION: outputNameDetails((IPackageDeclaration) elt, xw); break; case IJavaElement.LOCAL_VARIABLE: outputNameDetails((ILocalVariable) elt, xw); break; } if (children && elt instanceof IParent) { try { for (IJavaElement c : ((IParent) elt).getChildren()) { outputJavaElementImpl(c, files, children, xw); } } catch (JavaModelException e) { } } if (close != null) xw.end(close); }
From source file:edu.buffalo.cse.green.editor.DiagramEditor.java
License:Open Source License
/** * Opens a blank editor.//from w w w . jav a 2 s . c o m * * @param element - The element to place the diagram file in. * @return a reference to the opened editor, if successful. */ private static DiagramEditor createEditor(IJavaElement element) throws JavaModelException { IWorkbenchWindow dwindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); IWorkbenchPage workbenchPage = dwindow.getActivePage(); IPackageFragment packFrag = null; IPath elementPath; // get the project itself, if desired (for creating DIA) if (element.isReadOnly() || PlugIn.getBooleanPreference(P_FORCE_DIA_IN_PROJECT)) { element = element.getAncestor(IJavaElement.JAVA_PROJECT); } if (element instanceof IJavaProject) { IJavaProject project = (IJavaProject) element; packFrag = project.getPackageFragments()[0]; } else if (!(element instanceof IPackageFragment)) { packFrag = (IPackageFragment) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT); } else { packFrag = (IPackageFragment) element; } // create a path to the diagram file with current extension elementPath = packFrag.getPath() .append(packFrag.getJavaProject().getElementName() + "." + PluginConstants.GREEN_EXTENSION); try { IFile diaFile = DiagramEditor.getFileNotExist(element.getJavaProject().getProject(), elementPath); DiagramEditor editor = (DiagramEditor) IDE.openEditor(workbenchPage, diaFile, true); ACTIVE_EDITOR = editor; return editor; } catch (CoreException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; }
From source file:edu.buffalo.cse.green.editor.model.RootModel.java
License:Open Source License
/** * Creates a model representing the given <code>IType</code>. * /*from w w w . j a v a 2s.c o m*/ * @param type * The <code>IType</code> to model * @return A <code>TypeModel</code> representing the given * <code>IType</code> */ public TypeModel createTypeModel(IType type) { TypeModel typeModel = (TypeModel) getModelFromElement(type); // create the type if it doesn't exist if (typeModel == null) { // create the type model typeModel = new TypeModel(type); if (PlugIn.filterMember(typeModel)) { removeChild(typeModel); return typeModel; } typeModel.setParent(this); GreenException.illegalOperation(isValidTypeModel(typeModel)); // update the fields and models typeModel.updateFields(); typeModel.updateMethods(); // LOOKINTO Answer why is this needed, since 4 statements up it appears to already have been done... // Answer: Null pointer thrown without this statement...possibly a more elegant solution is available if (typeModel.getType().isBinary()) { // set its parent to the root typeModel.setParent(this); } addChild(typeModel, typeModel.getMember()); if (_project == null) { if (!type.isBinary()) { setProject((IJavaProject) type.getAncestor(IJavaElement.JAVA_PROJECT)); } } else if (!type.getAncestor(IJavaElement.JAVA_PROJECT).equals(_project)) { GreenException.warn(GRWARN_ELEMENT_IN_WRONG_EDITOR); } } else { if (PlugIn.filterMember(typeModel)) { removeChild(typeModel); return typeModel; } typeModel.setVisible(true); } // show all relationships attached to this type for (RelationshipModel rModel : _relationshipModels) { TypeModel rsModel = rModel.getSourceModel(); TypeModel rtModel = rModel.getTargetModel(); if (rsModel != null && rtModel != null) { if (typeModel.equals(rsModel) || typeModel.equals(rtModel)) { if (rsModel.isVisible() && rtModel.isVisible()) { rModel.setSourceModel(rsModel); rModel.setTargetModel(rtModel); rModel.setVisible(true); } } } } return typeModel; }
From source file:jasima_gui.EclipseProjectClassLoader.java
License:Open Source License
protected boolean hasClasspathChanged(IJavaElementDelta delta) { int t = delta.getElement().getElementType(); if (t == IJavaElement.JAVA_PROJECT) { if ((delta.getFlags() & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0) { return true; }// w ww .j a v a 2 s . c o m } else if (t == IJavaElement.JAVA_MODEL) { for (IJavaElementDelta d : delta.getAffectedChildren()) { if (hasClasspathChanged(d)) return true; } } return false; }
From source file:jp.littleforest.pathtools.handlers.CopyQualifiedNameHandler.java
License:Open Source License
protected String getQualifiedName(IJavaElement e) { String qn = ""; switch (e.getElementType()) { case IJavaElement.ANNOTATION: break;/*from w w w . j av a 2 s . c o m*/ case IJavaElement.CLASS_FILE: qn = getQualifiedClassName((IClassFile) e); break; case IJavaElement.COMPILATION_UNIT: qn = getQualifiedClassName((ICompilationUnit) e); break; case IJavaElement.FIELD: qn = getQualifiedFieldName((IField) e); break; case IJavaElement.IMPORT_CONTAINER: break; case IJavaElement.IMPORT_DECLARATION: break; case IJavaElement.INITIALIZER: break; case IJavaElement.JAVA_MODEL: break; case IJavaElement.JAVA_PROJECT: break; case IJavaElement.LOCAL_VARIABLE: break; case IJavaElement.METHOD: qn = getQualifiedMethodName((IMethod) e); break; case IJavaElement.PACKAGE_DECLARATION: break; case IJavaElement.PACKAGE_FRAGMENT: qn = getQualifiedPackageName(e); break; case IJavaElement.TYPE: qn = getQualifiedClassName((IType) e); break; case IJavaElement.TYPE_PARAMETER: break; default: break; } return qn; }
From source file:mychangedetector.copyclasses.MyRenameLinkedMode.java
License:Open Source License
/** * Creates a rename descriptor.//w w w .j av a 2 s . 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)); descriptor.setKeepOriginal(refactoringSettings.getBoolean(DelegateUIHelper.DELEGATE_UPDATING)); } switch (elementType) { case IJavaElement.TYPE: // case IJavaElement.COMPILATION_UNIT: // TODO descriptor.setUpdateSimilarDeclarations( refactoringSettings.getBoolean(RenameRefactoringWizard.TYPE_UPDATE_SIMILAR_ELEMENTS)); int strategy; try { strategy = 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)); } 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); descriptor.setUpdateQualifiedNames(updateQualifiedNames); fShowPreview |= updateQualifiedNames; } } switch (elementType) { case IJavaElement.PACKAGE_FRAGMENT: case IJavaElement.TYPE: case IJavaElement.FIELD: boolean updateTextualOccurrences = refactoringSettings .getBoolean(RenameRefactoringWizard.UPDATE_TEXTUAL_MATCHES); descriptor.setUpdateTextualOccurrences(updateTextualOccurrences); fShowPreview |= updateTextualOccurrences; } switch (elementType) { case IJavaElement.FIELD: descriptor .setRenameGetters(refactoringSettings.getBoolean(RenameRefactoringWizard.FIELD_RENAME_GETTER)); descriptor .setRenameSetters(refactoringSettings.getBoolean(RenameRefactoringWizard.FIELD_RENAME_SETTER)); } return descriptor; }
From source file:net.sourceforge.c4jplugin.internal.ui.contracthierarchy.ContractHierarchyLifeCycle.java
License:Open Source License
private void processDelta(IJavaElementDelta delta, ArrayList<IType> changedTypes) { IJavaElement element = delta.getElement(); switch (element.getElementType()) { case IJavaElement.TYPE: processTypeDelta((IType) element, changedTypes); processChildrenDelta(delta, changedTypes); // (inner types) break;/*from w ww. ja v a 2 s. c o m*/ case IJavaElement.JAVA_MODEL: case IJavaElement.JAVA_PROJECT: case IJavaElement.PACKAGE_FRAGMENT_ROOT: case IJavaElement.PACKAGE_FRAGMENT: processChildrenDelta(delta, changedTypes); break; case IJavaElement.COMPILATION_UNIT: ICompilationUnit cu = (ICompilationUnit) element; if (cu.getOwner() != null) { return; } if (delta.getKind() == IJavaElementDelta.CHANGED && isPossibleStructuralChange(delta.getFlags())) { try { if (cu.exists()) { IType[] types = cu.getAllTypes(); for (int i = 0; i < types.length; i++) { processTypeDelta(types[i], changedTypes); } } } catch (JavaModelException e) { C4JActivator.log(e); } } else { processChildrenDelta(delta, changedTypes); } break; case IJavaElement.CLASS_FILE: if (delta.getKind() == IJavaElementDelta.CHANGED) { try { IType type = ((IClassFile) element).getType(); processTypeDelta(type, changedTypes); } catch (JavaModelException e) { C4JActivator.log(e); } } else { processChildrenDelta(delta, changedTypes); } break; } }
From source file:net.sourceforge.metrics.calculators.RMartinCouplings.java
License:Open Source License
/** * Create a search scope consisting of all source packages in the element's project and all referencing projects. Exclude the element itself. This results in a DRAMATIC performance increase over SearchEngine.createWorkspaceScope().,... * // ww w . ja v a 2 s .c o m * @param element * @return IJavaSearchScope */ private IJavaSearchScope createProjectSearchScope(IJavaElement element) throws JavaModelException { IJavaProject p = (IJavaProject) element.getAncestor(IJavaElement.JAVA_PROJECT); List<IPackageFragment> scopeElements = new ArrayList<IPackageFragment>(); addPackagesInScope(p, scopeElements); // find referencing projects and add their packages if any IProject[] refProjects = p.getProject().getReferencingProjects(); if ((refProjects != null) && (refProjects.length > 0)) { for (IProject refProject : refProjects) { IJavaProject next = JavaCore.create(refProject); if (next != null) { addPackagesInScope(next, scopeElements); } } } // don't include the package under investigation! scopeElements.remove(element); return SearchEngine.createJavaSearchScope(scopeElements.toArray(new IJavaElement[] {})); }