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

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

Introduction

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

Prototype

public IJavaElement[] getChildren() throws JavaModelException 

Source Link

Usage

From source file:edu.buffalo.cse.green.editor.model.commands.AddJavaElementCommand.java

License:Open Source License

private ArrayList getAncestors(JavaElement t) throws JavaModelException {
    IJavaElement[] children = t.getChildren();
    int size = children.length;
    ArrayList list = new ArrayList(size);
    for (int i = 0; i < size; ++i) {
        JavaElement elt = (JavaElement) children[i];
        if (elt.getElementType() == IJavaElement.TYPE) {
            list.add(elt);//from  w  w  w  .  ja va2 s. c  o m
            list.addAll(getAncestors(elt));
        }
    }
    return list;
}

From source file:org.eclipse.contribution.xref.internal.ui.providers.XReferenceContentProvider.java

License:Open Source License

private boolean addChildren(TreeParent parent, JavaElement je, IXReferenceAdapter xreferenceAdapter) {
    boolean hasChildren = false;
    try {//from ww  w.j  av  a  2  s.c o  m
        IJavaElement[] extra = xreferenceAdapter.getExtraChildren(je);
        List l = new ArrayList();
        IJavaElement[] children = je.getChildren();
        for (int i = 0; i < children.length; i++) {
            l.add(children[i]);
        }
        if (extra != null) {
            for (int i = 0; i < extra.length; i++) {
                l.add(extra[i]);
            }
        }
        children = (IJavaElement[]) l.toArray(new IJavaElement[] {});
        for (int i = 0; i < children.length; i++) {
            IJavaElement child = children[i];
            IAdaptable a = child;
            IXReferenceAdapter xrefAdapterChild = null;
            if (a != null) {
                xrefAdapterChild = (IXReferenceAdapter) a.getAdapter(IXReferenceAdapter.class);
            }
            if (xrefAdapterChild != null) {
                TreeParent childNode = new TreeParent(xrefAdapterChild.toString());
                childNode.setData(xrefAdapterChild.getReferenceSource());
                Collection xrc = xrefAdapterChild.getXReferences();
                if (!xrc.isEmpty()) {
                    parent.addChild(childNode);
                    addXReferencesToTree(childNode, xrc);
                    JavaElement subJe = (JavaElement) child;
                    hasChildren = true;

                    if ((xreferenceAdapter.getExtraChildren(subJe) != null
                            && xreferenceAdapter.getExtraChildren(subJe).length > 0)
                            || subJe.getChildren().length > 0) {
                        addChildren(childNode, subJe, xreferenceAdapter);
                    }

                } else {
                    JavaElement subJe = (JavaElement) child;
                    if (addChildren(childNode, subJe, xreferenceAdapter)) {
                        parent.addChild(childNode);
                        hasChildren = true;
                    }
                }
            }
        }
    } catch (JavaModelException e) {
        // don't care about this exception
    }
    return hasChildren;
}