Example usage for org.eclipse.jdt.internal.core JavaElementInfo getChildren

List of usage examples for org.eclipse.jdt.internal.core JavaElementInfo getChildren

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.core JavaElementInfo getChildren.

Prototype

public IJavaElement[] getChildren() 

Source Link

Usage

From source file:com.codenvy.ide.ext.java.server.internal.core.ClassFile.java

License:Open Source License

public boolean existsUsingJarTypeCache() {
    if (getPackageFragmentRoot().isArchive()) {
        //      JavaModelManager manager = JavaModelManager.getJavaModelManager();
        IType type = getType();//from ww  w.j  a v a2s .  c  o m
        Object info = manager.getInfo(type);
        if (info == JavaModelCache.NON_EXISTING_JAR_TYPE_INFO)
            return false;
        else if (info != null)
            return true;
        // info is null
        JavaElementInfo parentInfo = (JavaElementInfo) manager.getInfo(getParent());
        if (parentInfo != null) {
            // if parent is open, this class file must be in its children
            IJavaElement[] children = parentInfo.getChildren();
            for (int i = 0, length = children.length; i < length; i++) {
                if (this.name.equals(((ClassFile) children[i]).name))
                    return true;
            }
            return false;
        }
        try {
            info = getJarBinaryTypeInfo((PackageFragment) getParent(),
                    true/*fully initialize so as to not keep a reference to the byte array*/);
        } catch (CoreException e) {
            // leave info null
        } catch (IOException e) {
            // leave info null
        } catch (ClassFormatException e) {
            // leave info null
        }
        manager.putJarTypeInfo(type, info == null ? JavaModelCache.NON_EXISTING_JAR_TYPE_INFO : info);
        return info != null;
    } else
        return exists();
    //   throw new UnsupportedOperationException();
}

From source file:org.hibernate.eclipse.jdt.ui.internal.jpa.collect.CompilationUnitCollector.java

License:Open Source License

/**
 * Process object - java element to collect all it's children CompilationUnits
 * @param obj/*from  w w  w.  jav  a2  s  .c  om*/
 * @param bCollect
 */
public void processJavaElements(Object obj, boolean bCollect) {
    if (obj instanceof ICompilationUnit) {
        ICompilationUnit cu = (ICompilationUnit) obj;
        addCompilationUnit(cu, bCollect);
    } else if (obj instanceof File) {
        File file = (File) obj;
        if (file.getProject() != null) {
            IJavaProject javaProject = JavaCore.create(file.getProject());
            ICompilationUnit[] cus = Utils.findCompilationUnits(javaProject, file.getFullPath());
            if (cus != null) {
                for (int i = 0; i < cus.length; i++) {
                    addCompilationUnit(cus[i], bCollect);
                }
            }
        }
    } else if (obj instanceof JavaProject) {
        JavaProject javaProject = (JavaProject) obj;
        IPackageFragmentRoot[] pfr = null;
        try {
            pfr = javaProject.getAllPackageFragmentRoots();
        } catch (JavaModelException e) {
            // just ignore it!
            //HibernateConsolePlugin.getDefault().logErrorMessage("JavaModelException: ", e); //$NON-NLS-1$
        }
        if (pfr != null) {
            for (int i = 0; i < pfr.length; i++) {
                processJavaElements(pfr[i], bCollect);
            }
        }
    } else if (obj instanceof PackageFragment) {
        PackageFragment packageFragment = (PackageFragment) obj;
        ICompilationUnit[] cus = null;
        try {
            cus = packageFragment.getCompilationUnits();
        } catch (JavaModelException e) {
            // just ignore it!
            //HibernateConsolePlugin.getDefault().logErrorMessage("JavaModelException: ", e); //$NON-NLS-1$
        }
        if (cus != null && cus.length > 0) {
            if (bCollect) {
                selection2UpdateList.add(obj);
                bCollect = false;
            }
            for (int i = 0; i < cus.length; i++) {
                addCompilationUnit(cus[i], bCollect);
            }
        }
    } else if (obj instanceof PackageFragmentRoot) {
        JavaElement javaElement = (JavaElement) obj;
        JavaElementInfo javaElementInfo = null;
        try {
            javaElementInfo = (JavaElementInfo) javaElement.getElementInfo();
        } catch (JavaModelException e) {
            // just ignore it!
            //HibernateConsolePlugin.getDefault().logErrorMessage("JavaModelException: ", e); //$NON-NLS-1$
        }
        if (javaElementInfo != null) {
            IJavaElement[] je = javaElementInfo.getChildren();
            for (int i = 0; i < je.length; i++) {
                processJavaElements(je[i], true);
            }
        }
    } else if (obj instanceof JavaElement) {
        JavaElement javaElement = (JavaElement) obj;
        ICompilationUnit cu = javaElement.getCompilationUnit();
        addCompilationUnit(cu, bCollect);
    } else if (obj instanceof SourceType) {
        if (bCollect) {
            selection2UpdateList.add(obj);
            bCollect = false;
        }
        SourceType sourceType = (SourceType) obj;
        processJavaElements(sourceType.getJavaModel(), bCollect);
    } else {
        // ignore
        //System.out.println("1 Blah! " + selection); //$NON-NLS-1$
    }
}

From source file:org.hibernate.eclipse.jdt.ui.wizards.NewHibernateMappingFileWizard.java

License:Open Source License

protected void processJavaElements(Object obj, int depth) {
    if (depth < 0) {
        return;/* w ww .j a  va2s . c  o m*/
    }
    try {
        if (obj instanceof ICompilationUnit) {
            ICompilationUnit cu = (ICompilationUnit) obj;
            selectionCU.add(cu);
        } else if (obj instanceof JavaProject && depth > 0) {
            JavaProject javaProject = (JavaProject) obj;
            IPackageFragmentRoot[] pfr = javaProject.getAllPackageFragmentRoots();
            for (IPackageFragmentRoot element : pfr) {
                processJavaElements(element, depth - 1);
            }
        } else if (obj instanceof PackageFragment) {
            PackageFragment packageFragment = (PackageFragment) obj;
            ICompilationUnit[] cus = packageFragment.getCompilationUnits();
            for (ICompilationUnit cu : cus) {
                selectionCU.add(cu);
            }
        } else if (obj instanceof PackageFragmentRoot && depth > 0) {
            JavaElement javaElement = (JavaElement) obj;
            JavaElementInfo javaElementInfo = (JavaElementInfo) javaElement.getElementInfo();
            IJavaElement[] je = javaElementInfo.getChildren();
            for (IJavaElement element : je) {
                processJavaElements(element, depth - 1);
            }
        } else if (obj instanceof JavaElement) {
            JavaElement javaElement = (JavaElement) obj;
            ICompilationUnit cu = javaElement.getCompilationUnit();
            selectionCU.add(cu);
        }
    } catch (JavaModelException e) {
        // just ignore it!
        //HibernateConsolePlugin.getDefault().logErrorMessage("JavaModelException: ", e); //$NON-NLS-1$
    }
}