List of usage examples for org.eclipse.jdt.internal.core PackageFragmentRoot getElementInfo
public Object getElementInfo() throws JavaModelException
From source file:org.eclipse.che.jdt.internal.core.Openable.java
License:Open Source License
/** * @see IJavaElement//from w ww.j av a 2 s . c o m */ public boolean exists() { if (manager.getInfo(this) != null) return true; switch (getElementType()) { case IJavaElement.PACKAGE_FRAGMENT: PackageFragmentRoot root = getPackageFragmentRoot(); if (root.isArchive()) { // pkg in a jar -> need to open root to know if this pkg exists JarPackageFragmentRootInfo rootInfo; try { rootInfo = (JarPackageFragmentRootInfo) root.getElementInfo(); } catch (JavaModelException e) { return false; } return rootInfo.rawPackageInfo.containsKey(((PackageFragment) this).names); } break; case IJavaElement.CLASS_FILE: if (getPackageFragmentRoot().isArchive()) { // class file in a jar -> need to open this class file to know if it exists return super.exists(); } break; } return validateExistence(resource()).isOK(); }