List of usage examples for org.eclipse.jdt.core IJavaElement JAVA_MODEL
int JAVA_MODEL
To view the source code for org.eclipse.jdt.core IJavaElement JAVA_MODEL.
Click Source Link
From source file:org.eclipse.jdt.internal.core.JavaProject.java
License:Open Source License
public boolean isOnClasspath(IJavaElement element) { IClasspathEntry[] rawClasspath;/* w w w . j ava2s. com*/ try { rawClasspath = getRawClasspath(); } catch (JavaModelException e) { return false; // not a Java project } int elementType = element.getElementType(); boolean isPackageFragmentRoot = false; boolean isFolderPath = false; boolean isSource = false; switch (elementType) { case IJavaElement.JAVA_MODEL: return false; case IJavaElement.JAVA_PROJECT: break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: isPackageFragmentRoot = true; break; case IJavaElement.PACKAGE_FRAGMENT: isFolderPath = !((IPackageFragmentRoot) element.getParent()).isArchive(); break; case IJavaElement.COMPILATION_UNIT: isSource = true; break; default: isSource = element.getAncestor(IJavaElement.COMPILATION_UNIT) != null; break; } IPath elementPath = element.getPath(); // first look at unresolved entries int length = rawClasspath.length; for (int i = 0; i < length; i++) { IClasspathEntry entry = rawClasspath[i]; switch (entry.getEntryKind()) { case IClasspathEntry.CPE_LIBRARY: case IClasspathEntry.CPE_PROJECT: case IClasspathEntry.CPE_SOURCE: if (isOnClasspathEntry(elementPath, isFolderPath, isPackageFragmentRoot, entry)) return true; break; } } // no need to go further for compilation units and elements inside a compilation unit // it can only be in a source folder, thus on the raw classpath if (isSource) return false; // https://bugs.eclipse.org/bugs/show_bug.cgi?id=304081 // All the resolved classpath entries need to be considered, including the referenced classpath entries IClasspathEntry[] resolvedClasspath = null; try { resolvedClasspath = getResolvedClasspath(); } catch (JavaModelException e) { return false; // Perhaps, not a Java project } for (int index = 0; index < resolvedClasspath.length; index++) { if (isOnClasspathEntry(elementPath, isFolderPath, isPackageFragmentRoot, resolvedClasspath[index])) return true; } return false; }
From source file:org.eclipse.jem.workbench.utility.JavaModelListener.java
License:Open Source License
/** * Dispatch the java element delta. This method should normally not be overridden. One * usage would be to add delta types that are to be processed and dispatched by the * subclasses. For example also dispatch on {@link IJavaElement#IMPORT_CONTAINER}. Subclasses * should call <code>super.processDelta(IJavaElementDelta)</code> if it is not one they * are interested in.//from w ww . j a v a2 s . c om * * @param delta * * @since 1.2.0 */ public void processDelta(IJavaElementDelta delta) { IJavaElement element = delta.getElement(); // if the class path has changed we refresh the resolved container cache int flags = delta.getFlags(); if (((flags & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0) && !resolvedContainers.isEmpty()) { resolvedContainers.clear(); } switch (element.getElementType()) { case IJavaElement.JAVA_MODEL: processJavaElementChanged((IJavaModel) element, delta); break; case IJavaElement.JAVA_PROJECT: processJavaElementChanged((IJavaProject) element, delta); break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: processJavaElementChanged((IPackageFragmentRoot) element, delta); break; case IJavaElement.PACKAGE_FRAGMENT: processJavaElementChanged((IPackageFragment) element, delta); break; case IJavaElement.COMPILATION_UNIT: processJavaElementChanged((ICompilationUnit) element, delta); processContentChanged(delta); break; case IJavaElement.CLASS_FILE: processJavaElementChanged((IClassFile) element, delta); break; case IJavaElement.TYPE: processJavaElementChanged((IType) element, delta); break; // Note: if we are to update the Method/Field adapters, we should process the // IJavaElement.METHOD and IJavaElement.FIELD } }
From source file:org.eclipse.jpt.common.core.tests.internal.resource.java.JavaResourceModelTestCase.java
License:Open Source License
/** * NB: this is copied from GenericJpaProject, so it might need to be * kept in synch with that code if it changes... yech... *//*w ww .j av a 2 s.c o m*/ protected void syncWithJavaDelta(IJavaElementDelta delta) { switch (delta.getElement().getElementType()) { case IJavaElement.JAVA_MODEL: case IJavaElement.JAVA_PROJECT: case IJavaElement.PACKAGE_FRAGMENT_ROOT: case IJavaElement.PACKAGE_FRAGMENT: this.syncWithJavaDeltaChildren(delta); break; case IJavaElement.COMPILATION_UNIT: this.javaCompilationUnitChanged(delta); break; default: break; // ignore the elements inside a compilation unit } }
From source file:org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.java
License:Open Source License
/** * We recurse back here from {@link #processJavaDeltaChildren(IJavaElementDelta)}. *//*from w w w . j a v a 2s . c o m*/ protected void processJavaDelta(IJavaElementDelta delta) { switch (delta.getElement().getElementType()) { case IJavaElement.JAVA_MODEL: this.processJavaModelDelta(delta); break; case IJavaElement.JAVA_PROJECT: this.processJavaProjectDelta(delta); break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: this.processJavaPackageFragmentRootDelta(delta); break; case IJavaElement.PACKAGE_FRAGMENT: this.processJavaPackageFragmentDelta(delta); break; case IJavaElement.COMPILATION_UNIT: this.processJavaCompilationUnitDelta(delta); break; default: break; // ignore the elements inside a compilation unit } }
From source file:org.eclipse.jpt.jaxb.ui.internal.filters.ContainerFilter.java
License:Open Source License
@Override public boolean select(Viewer viewer, Object parent, Object element) { boolean isContainer = element instanceof IContainer; if (!isContainer && element instanceof IJavaElement) { int type = ((IJavaElement) element).getElementType(); isContainer = (type == IJavaElement.JAVA_MODEL || type == IJavaElement.JAVA_PROJECT || type == IJavaElement.PACKAGE_FRAGMENT || type == IJavaElement.PACKAGE_FRAGMENT_ROOT); }/* w ww .ja v a 2 s . c o m*/ return !isContainer; }
From source file:org.eclipse.jpt.jaxb.ui.internal.filters.NonContainerFilter.java
License:Open Source License
@Override public boolean select(Viewer viewer, Object parent, Object element) { boolean isContainer = element instanceof IContainer; int type;//from w w w . j a v a 2s. c o m if (!isContainer && element instanceof IJavaElement) { type = ((IJavaElement) element).getElementType(); isContainer = (type == IJavaElement.JAVA_MODEL || type == IJavaElement.JAVA_PROJECT || type == IJavaElement.PACKAGE_FRAGMENT || type == IJavaElement.PACKAGE_FRAGMENT_ROOT); } if (isContainer && (element instanceof IJavaElement)) { type = ((IJavaElement) element).getElementType(); if (type == IJavaElement.JAVA_PROJECT) { String projectName = ((IJavaProject) element).getElementName(); return projectName.equals(this.projectName); } } return isContainer; }
From source file:org.eclipse.jpt.jpa.core.internal.InternalJpaProjectManager.java
License:Open Source License
/** * We recurse back here from {@link #handleJavaDeltaChildren(IJavaElementDelta)}. *//*from www . j a va2 s .c o m*/ protected boolean handleJavaDelta(IJavaElementDelta delta) { switch (delta.getElement().getElementType()) { case IJavaElement.JAVA_MODEL: return this.handleJavaModelDelta(delta); case IJavaElement.JAVA_PROJECT: return this.handleJavaProjectDelta(delta); case IJavaElement.PACKAGE_FRAGMENT_ROOT: return this.handleJavaPackageFragmentRootDelta(delta); case IJavaElement.PACKAGE_FRAGMENT: return this.processJavaPackageFragmentDelta(delta); case IJavaElement.COMPILATION_UNIT: return this.handleJavaCompilationUnitDelta(delta); default: break; // ignore the elements inside a compilation unit } return false; }
From source file:org.eclipse.jpt.jpa.eclipselink.ui.internal.wizards.EclipseLinkDynamicEntityClassWizardPage.java
License:Open Source License
/** * Utility method to inspect a selection to find a Java element. * /* ww w . j av a2 s .co m*/ * @param selection the selection to be inspected * @return a Java element to be used as the initial selection, or * <code>null</code>, if no Java element exists in the given * selection */ protected IJavaElement getInitialJavaElement(ISelection selection) { IJavaElement jelem = null; if (selection != null && !selection.isEmpty() && selection instanceof IStructuredSelection) { Object selectedElement = ((IStructuredSelection) selection).getFirstElement(); jelem = getJavaElement(selectedElement); if (jelem == null) { IResource resource = getResource(selectedElement); if (resource != null && resource.getType() != IResource.ROOT) { while (jelem == null && resource.getType() != IResource.PROJECT) { resource = resource.getParent(); jelem = (IJavaElement) resource.getAdapter(IJavaElement.class); } if (jelem == null) { jelem = JavaCore.create(resource); // java project } } } } if (jelem == null) { IWorkbenchWindow window = WorkbenchTools.getActiveWindow(); if (window == null) return null; IWorkbenchPart part = window.getActivePage().getActivePart(); if (part instanceof ContentOutline) { part = window.getActivePage().getActiveEditor(); } if (part instanceof IViewPartInputProvider) { Object elem = ((IViewPartInputProvider) part).getViewPartInput(); if (elem instanceof IJavaElement) { jelem = (IJavaElement) elem; } } } if (jelem == null || jelem.getElementType() == IJavaElement.JAVA_MODEL) { try { IJavaProject[] projects = JavaCore.create(getWorkspaceRoot()).getJavaProjects(); if (projects.length == 1) { jelem = projects[0]; } } catch (JavaModelException e) { JptJpaEclipseLinkUiPlugin.instance().logError(e); } } return jelem; }
From source file:org.eclipse.jst.j2ee.internal.dialogs.TypeJavaSearchScope.java
License:Open Source License
public void add(IJavaElement element) throws JavaModelException { IPackageFragmentRoot root = null;/*from w w w . ja va 2 s . c om*/ switch (element.getElementType()) { case IJavaElement.JAVA_MODEL: // a workspace sope should be used break; case IJavaElement.JAVA_PROJECT: this.add((IJavaProject) element, true, new HashSet(2)); break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: root = (IPackageFragmentRoot) element; this.add(root.getPath(), true); break; case IJavaElement.PACKAGE_FRAGMENT: root = (IPackageFragmentRoot) element.getParent(); if (root.isArchive()) { this.add(root.getPath().append(new Path(element.getElementName().replace('.', '/'))), false); } else { IResource resource = element.getUnderlyingResource(); if (resource != null && resource.isAccessible()) { this.add(resource.getFullPath(), false); } } break; default: // remember sub-cu (or sub-class file) java elements if (element instanceof IMember) { if (this.elements == null) { this.elements = new ArrayList(); } this.elements.add(element); } this.add(this.fullPath(element), true); // find package fragment root including this java element IJavaElement parent = element.getParent(); while (parent != null && !(parent instanceof IPackageFragmentRoot)) { parent = parent.getParent(); } if (parent instanceof IPackageFragmentRoot) { root = (IPackageFragmentRoot) parent; } } if (root != null) { if (root.getKind() == IPackageFragmentRoot.K_BINARY) { this.addEnclosingProjectOrJar(root.getPath()); } else { this.addEnclosingProjectOrJar(root.getJavaProject().getProject().getFullPath()); } } }
From source file:org.eclipse.jst.j2ee.internal.wizard.NewJavaClassWizardPage.java
License:Open Source License
/** * Utility method to inspect a selection to find a Java element. * /*from w w w .j av a 2s .co m*/ * @param selection * the selection to be inspected * @return a Java element to be used as the initial selection, or * <code>null</code>, if no Java element exists in the given * selection */ protected IJavaElement getInitialJavaElement(ISelection selection) { IJavaElement jelem = null; if (selection != null && !selection.isEmpty() && selection instanceof IStructuredSelection) { Object selectedElement = ((IStructuredSelection) selection).getFirstElement(); jelem = getJavaElement(selectedElement); if (jelem == null) { IResource resource = getResource(selectedElement); if (resource != null && resource.getType() != IResource.ROOT) { while (jelem == null && resource.getType() != IResource.PROJECT) { resource = resource.getParent(); jelem = (IJavaElement) resource.getAdapter(IJavaElement.class); } if (jelem == null) { jelem = JavaCore.create(resource); // java project } } } } if (jelem == null) { IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (window == null) return null; IWorkbenchPart part = window.getActivePage().getActivePart(); if (part instanceof ContentOutline) { part = window.getActivePage().getActiveEditor(); } if (part instanceof IViewPartInputProvider) { Object elem = ((IViewPartInputProvider) part).getViewPartInput(); if (elem instanceof IJavaElement) { jelem = (IJavaElement) elem; } } } if (jelem == null || jelem.getElementType() == IJavaElement.JAVA_MODEL) { try { IJavaProject[] projects = JavaCore.create(getWorkspaceRoot()).getJavaProjects(); if (projects.length == 1) { jelem = projects[0]; } } catch (JavaModelException e) { JavaPlugin.log(e); } } return jelem; }