Example usage for org.eclipse.jdt.core IJavaElement getElementName

List of usage examples for org.eclipse.jdt.core IJavaElement getElementName

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaElement getElementName.

Prototype

String getElementName();

Source Link

Document

Returns the name of this element.

Usage

From source file:org.eclipse.e4.xwt.tools.ui.designer.wizards.ExternalizeStringsWizard.java

License:Open Source License

private void getDefaultAccessorContents() {
    IFile inputFile = designer.getFile();

    IContainer container = inputFile.getParent();
    IJavaElement javaElement = JavaCore.create(container);
    IPackageFragmentRoot defaultRoot = null;
    if (javaElement != null && javaElement.exists()) {
        IJavaProject javaProject = JavaCore.create(inputFile.getProject());
        try {/*  w w w . ja va2  s  .  c  o  m*/
            IPackageFragmentRoot fragmentRoot[] = javaProject.getAllPackageFragmentRoots();
            for (int i = 0; i < fragmentRoot.length; i++) {
                if (fragmentRoot[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                    defaultRoot = fragmentRoot[i];
                    for (IJavaElement element : defaultRoot.getChildren()) {
                        if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
                            javaElement = element;
                        }
                    }
                    break;
                }
            }
        } catch (JavaModelException e) {
            e.printStackTrace();
        }
    }
    if (javaElement == null || !(javaElement instanceof IPackageFragment)) {
        String projectName = inputFile.getProject().getName();
        externalizeStringsWizardPage.setErrorMessage("The project " + projectName + " has not source folder.");
        return;
    }

    externalizeStringsWizardPage.setDefaultRoot(defaultRoot);
    externalizeStringsWizardPage.setDefaultFolder(defaultRoot.getResource().getFullPath().toString());
    externalizeStringsWizardPage.setDefaultPackage(javaElement.getElementName());
}

From source file:org.eclipse.edt.debug.core.java.filters.ClasspathEntryFilter.java

License:Open Source License

/**
 * Subclasses are free to override this to provide more specific caching.
 *//*from   w w w  .  j a va  2 s. c  om*/
protected void processContainerEntry(IClasspathEntry entry, IJavaProject project,
        Map<String, Object> classMap) {
    if (project == null) {
        // Can't calulate the entry without an IJavaProject.
        return;
    }

    IPackageFragmentRoot[] roots = project.findPackageFragmentRoots(entry);
    for (IPackageFragmentRoot root : roots) {
        try {
            for (IJavaElement element : root.getChildren()) {
                if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
                    try {
                        IPackageFragment pkg = (IPackageFragment) element;
                        StringBuilder pkgBuf = new StringBuilder(50);
                        IJavaElement current = pkg;
                        while (current != null && current.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
                            if (pkgBuf.length() > 0) {
                                pkgBuf.insert(0, '.');
                            }
                            pkgBuf.insert(0, current.getElementName());
                            current = current.getParent();
                        }

                        String pkgString = pkgBuf.toString();
                        IClassFile[] classes = pkg.getClassFiles();
                        for (IClassFile file : classes) {
                            String className = file.getElementName();
                            className = className.substring(0, className.length() - 6); // remove ".class"
                            StringBuilder buf = new StringBuilder(pkgString.length() + className.length() + 1);
                            buf.append(pkgString);
                            if (pkgString.length() > 0) {
                                buf.append('.');
                            }
                            buf.append(className);
                            classMap.put(buf.toString(), null);
                        }
                    } catch (JavaModelException jme) {
                        EDTDebugCorePlugin.log(jme);
                    }
                }
            }
        } catch (JavaModelException jme) {
            EDTDebugCorePlugin.log(jme);
        }
    }
}

From source file:org.eclipse.edt.debug.core.java.filters.WorkspaceProjectClassFilter.java

License:Open Source License

protected void compilationUnitRemoved(IJavaElementDelta delta, ICompilationUnit cu) throws JavaModelException {
    if (cu.exists()) {
        for (IType type : cu.getAllTypes()) {
            commonClassesToFilter.remove(type.getFullyQualifiedName());
        }//from   www .ja v a 2 s. c om
    } else {
        // It's already been deleted, so we can't get any of its children. We'll remove the main type, then iterate over the keys
        // to see if there's any inner classes to remove.
        StringBuilder buf = new StringBuilder(50);
        IJavaElement current = cu.getParent();
        while (current != null && current.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
            if (buf.length() > 0) {
                buf.insert(0, '.');
            }
            buf.insert(0, current.getElementName());
            current = current.getParent();
        }
        if (buf.length() > 0) {
            buf.append('.');
        }
        buf.append(cu.getElementName().substring(0, cu.getElementName().length() - 5)); // Remove ".java"
        commonClassesToFilter.remove(buf.toString());

        buf.append('$');
        String keyPrefix = buf.toString();
        for (Iterator<String> it = commonClassesToFilter.keySet().iterator(); it.hasNext();) {
            if (it.next().startsWith(keyPrefix)) {
                it.remove();
            }
        }
    }
}

From source file:org.eclipse.edt.debug.core.java.filters.WorkspaceProjectClassFilter.java

License:Open Source License

protected void packageFragmentRemoved(IJavaElementDelta delta, IPackageFragment fragment)
        throws JavaModelException {
    if (fragment.exists()) {
        for (ICompilationUnit cu : fragment.getCompilationUnits()) {
            compilationUnitRemoved(delta, cu);
        }/* w w w  .  j a  va  2  s  .co  m*/
    } else {
        // It's already been deleted, so we can't get any of its children. We'll iterate over the keys removing those inside this fragment.
        StringBuilder buf = new StringBuilder(50);
        IJavaElement current = fragment;
        while (current != null && current.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
            if (buf.length() > 0) {
                buf.insert(0, '.');
            }
            buf.insert(0, current.getElementName());
            current = current.getParent();
        }

        if (buf.length() > 0) {
            buf.append('.');
            String keyPrefix = buf.toString();
            for (Iterator<String> it = commonClassesToFilter.keySet().iterator(); it.hasNext();) {
                if (it.next().startsWith(keyPrefix)) {
                    it.remove();
                }
            }
        }
    }
}

From source file:org.eclipse.emf.ecore.xcore.ui.refactoring.XcoreRenameRefactoringProcessorFactory.java

License:Open Source License

@Override
public JavaRenameProcessor createRenameProcessor(IJavaElement element) {
    try {/*from w  w w .j a  v  a2  s.com*/
        switch (element.getElementType()) {
        case IJavaElement.TYPE: {
            return new RenameTypeProcessor((IType) element);
        }
        case IJavaElement.FIELD: {
            return new RenameFieldProcessor((IField) element);
        }
        case IJavaElement.METHOD: {
            return Flags.isStatic(((IMethod) element).getFlags())
                    ? new RenameNonVirtualMethodProcessor((IMethod) element)
                    : new RenameVirtualMethodProcessor((IMethod) element);
        }
        case IJavaElement.TYPE_PARAMETER: {
            return new RenameTypeParameterProcessor((ITypeParameter) element);
        }
        case IJavaElement.LOCAL_VARIABLE: {
            return new RenameLocalVariableProcessor((ILocalVariable) element);
        }
        }
    } catch (JavaModelException exc) {
        LOG.error("Error creating refactoring processor for " + element.getElementName(), exc);
    }
    return null;
}

From source file:org.eclipse.fx.ide.jdt.ui.internal.refactoring.RefactoringUtil.java

License:Open Source License

/**
 * Build thh fully qualified name of a resource.
 * /*from ww w. j a v  a 2 s.  c  o m*/
 * @param resource
 *            resource
 * @return fully qualified name
 */
public static String buildFullyQualifiedName(IResource resource) {
    IJavaElement je = JavaCore.create(resource);
    if (je != null) {
        try {
            IJavaProject p = je.getJavaProject();
            IType t = p.findType(je.getParent().getElementName(),
                    je.getElementName().replace("." + resource.getFileExtension(), ""));
            if (t == null) {
                System.err.println("Unable to construct FQN from '" + je.getParent().getElementName() + "."
                        + je.getElementName().replace("." + resource.getFileExtension(), "") + "'");
                return "";
            }
            return t.getFullyQualifiedName();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return "";
        }
    } else {
        return getNonJavaElementName(resource, resource.getName());
    }
}

From source file:org.eclipse.jdt.internal.core.CopyResourceElementsOperation.java

License:Open Source License

private ISchedulingRule getSchedulingRule(IJavaElement element) {
    if (element == null)
        return null;
    IResource sourceResource = getResource(element);
    IResource destContainer = getResource(getDestinationParent(element));
    if (!(destContainer instanceof IContainer)) {
        return null;
    }/*from  ww w  . j av  a 2s  .co  m*/
    String newName;
    try {
        newName = getNewNameFor(element);
    } catch (JavaModelException e) {
        return null;
    }
    if (newName == null)
        newName = element.getElementName();
    IResource destResource;
    String sourceEncoding = null;
    if (sourceResource.getType() == IResource.FILE) {
        destResource = ((IContainer) destContainer).getFile(new Path(newName));
        try {
            sourceEncoding = ((IFile) sourceResource).getCharset(false);
        } catch (CoreException ce) {
            // use default encoding
        }
    } else {
        destResource = ((IContainer) destContainer).getFolder(new Path(newName));
    }
    IResourceRuleFactory factory = ResourcesPlugin.getWorkspace().getRuleFactory();
    ISchedulingRule rule;
    if (isMove()) {
        rule = factory.moveRule(sourceResource, destResource);
    } else {
        rule = factory.copyRule(sourceResource, destResource);
    }
    if (sourceEncoding != null) {
        rule = new MultiRule(new ISchedulingRule[] { rule, factory.charsetRule(destResource) });
    }
    return rule;
}

From source file:org.eclipse.jdt.internal.core.CopyResourceElementsOperation.java

License:Open Source License

private IResource getResource(IJavaElement element) {
    if (element == null)
        return null;
    if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
        String pkgName = element.getElementName();
        int firstDot = pkgName.indexOf('.');
        if (firstDot != -1) {
            element = ((IPackageFragmentRoot) element.getParent())
                    .getPackageFragment(pkgName.substring(0, firstDot));
        }//  ww  w.  java  2s.  c om
    }
    return element.getResource();
}

From source file:org.eclipse.jdt.internal.core.CopyResourceElementsOperation.java

License:Open Source License

/**
 * @see MultiOperation/*  ww  w  .ja  v  a 2 s  .c o  m*/
 * This method delegates to <code>processCompilationUnitResource</code> or
 * <code>processPackageFragmentResource</code>, depending on the type of
 * <code>element</code>.
 */
protected void processElement(IJavaElement element) throws JavaModelException {
    IJavaElement dest = getDestinationParent(element);
    switch (element.getElementType()) {
    case IJavaElement.COMPILATION_UNIT:
        processCompilationUnitResource((ICompilationUnit) element, (PackageFragment) dest);
        this.createdElements.add(((IPackageFragment) dest).getCompilationUnit(element.getElementName()));
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        processPackageFragmentResource((PackageFragment) element, (PackageFragmentRoot) dest,
                getNewNameFor(element));
        break;
    default:
        throw new JavaModelException(
                new JavaModelStatus(IJavaModelStatusConstants.INVALID_ELEMENT_TYPES, element));
    }
}

From source file:org.eclipse.jdt.internal.core.SourceMapper.java

License:Open Source License

/**
 * Returns the type with the given <code>typeName</code>.  Returns inner classes
 * as well./*from w w  w  .  j  a va  2 s .  c  o  m*/
 */
protected IType getType(String typeName) {
    if (typeName.length() == 0) {
        IJavaElement classFile = this.binaryType.getParent();
        String classFileName = classFile.getElementName();
        StringBuffer newClassFileName = new StringBuffer();
        int lastDollar = classFileName.lastIndexOf('$');
        for (int i = 0; i <= lastDollar; i++)
            newClassFileName.append(classFileName.charAt(i));
        newClassFileName.append(Integer.toString(this.anonymousCounter));
        PackageFragment pkg = (PackageFragment) classFile.getParent();
        return new BinaryType(new ClassFile(pkg, newClassFileName.toString()), typeName);
    } else if (this.binaryType.getElementName().equals(typeName))
        return this.binaryType;
    else
        return this.binaryType.getType(typeName);
}