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

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

Introduction

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

Prototype

int COMPILATION_UNIT

To view the source code for org.eclipse.jdt.core IJavaElement COMPILATION_UNIT.

Click Source Link

Document

Constant representing a Java compilation unit.

Usage

From source file:org.springframework.ide.eclipse.beans.ui.refactoring.actions.BeansRenameRefactorAction.java

License:Open Source License

private boolean isRenameAvailable(IJavaElement element) throws CoreException {
    switch (element.getElementType()) {
    case IJavaElement.JAVA_PROJECT:
        return RefactoringAvailabilityTester.isRenameAvailable((IJavaProject) element);
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        return RefactoringAvailabilityTester.isRenameAvailable((IPackageFragmentRoot) element);
    case IJavaElement.PACKAGE_FRAGMENT:
        return RefactoringAvailabilityTester.isRenameAvailable((IPackageFragment) element);
    case IJavaElement.COMPILATION_UNIT:
        return RefactoringAvailabilityTester.isRenameAvailable((ICompilationUnit) element);
    case IJavaElement.TYPE:
        return RefactoringAvailabilityTester.isRenameAvailable((IType) element);
    case IJavaElement.METHOD:
        final IMethod method = (IMethod) element;
        if (method.isConstructor())
            return RefactoringAvailabilityTester.isRenameAvailable(method.getDeclaringType());
        else//from  w w  w .jav  a 2  s . c  om
            return RefactoringAvailabilityTester.isRenameAvailable(method);
    case IJavaElement.FIELD:
        final IField field = (IField) element;
        if (Flags.isEnum(field.getFlags()))
            return RefactoringAvailabilityTester.isRenameEnumConstAvailable(field);
        else
            return RefactoringAvailabilityTester.isRenameFieldAvailable(field);
    case IJavaElement.TYPE_PARAMETER:
        return RefactoringAvailabilityTester.isRenameAvailable((ITypeParameter) element);
    case IJavaElement.LOCAL_VARIABLE:
        return RefactoringAvailabilityTester.isRenameAvailable((ILocalVariable) element);
    }
    return false;
}

From source file:org.springframework.ide.eclipse.data.beans.ui.model.RepositoriesModelLabelDecorator.java

License:Open Source License

@Override
protected void decorateJavaElement(IJavaElement element, IDecoration decoration) {
    IJavaProject javaProject = element.getJavaProject();
    if (javaProject != null) {
        int type = element.getElementType();
        IProject project = javaProject.getProject();

        try {/*from  w  ww.j a va 2 s.c  o m*/

            if (type == IJavaElement.CLASS_FILE) {

                // Decorate Java class file
                IType javaType = ((IClassFile) element).getType();

                if (javaType.isInterface() && SpringDataUtils.hasRepositoryBeanFor(project, javaType)) {
                    decoration.addOverlay(BeansUIImages.DESC_OVR_SPRING);
                }

            } else if (type == IJavaElement.COMPILATION_UNIT) {

                // Decorate Java source file
                for (IType javaType : ((ICompilationUnit) element).getTypes()) {
                    if (javaType.isInterface() && SpringDataUtils.hasRepositoryBeanFor(project, javaType)) {
                        decoration.addOverlay(BeansUIImages.DESC_OVR_SPRING);
                        break;
                    }
                }
            }

        } catch (JavaModelException e) {
            // ignore
        }
    }
}

From source file:org.summer.dsl.model.ui.navigation.LinkToOriginDetector.java

License:Open Source License

public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region,
        boolean canShowMultipleHyperlinks) {
    try {//from   w  ww .  j av  a 2  s .com
        // very pessimistic guards - most things should never happen
        ITextEditor textEditor = (ITextEditor) getAdapter(ITextEditor.class);
        if (textEditor == null)
            return null;
        IEditorInput editorInput = textEditor.getEditorInput();
        if (editorInput == null)
            return null;
        IJavaElement adaptedJavaElement = (IJavaElement) Platform.getAdapterManager().getAdapter(editorInput,
                IJavaElement.class);
        if (adaptedJavaElement == null)
            return null;
        ICompilationUnit compilationUnit = (ICompilationUnit) adaptedJavaElement
                .getAncestor(IJavaElement.COMPILATION_UNIT);
        if (compilationUnit == null)
            return null;
        try {
            IRegion selectedWord = org.eclipse.jdt.internal.ui.text.JavaWordFinder
                    .findWord(textViewer.getDocument(), region.getOffset());
            // the actual implementation - find the referenced Java type under the cursor and link
            // to its origin if it's contained in a 'derived' resource
            IJavaElement[] javaElements = compilationUnit.codeSelect(selectedWord.getOffset(),
                    selectedWord.getLength());
            for (IJavaElement javaElement : javaElements) {
                /**
                 * if IDE 3.8 is available the default 'Open Declaration' navigation will already open the original editor
                 * So we don't need the additional hyperlinks.
                 */
                boolean provideHyperlinkOnReferences = !is_ORG_ECLIPSE_UI_IDE_3_8_Enabled()
                        || compilationUnit.equals(((IMember) javaElement).getCompilationUnit());
                if (javaElement instanceof IMember && provideHyperlinkOnReferences) {
                    IMember selectedMember = (IMember) javaElement;
                    IResource resource = selectedMember.getResource();
                    if (resource instanceof IFile) {
                        ITrace traceToSource = traceInformation.getTraceToSource((IStorage) resource);
                        if (traceToSource == null) {
                            return null;
                        }
                        Iterable<ILocationInResource> sourceInformation = traceToSource
                                .getAllAssociatedLocations(
                                        new TextRegion(selectedWord.getOffset(), selectedWord.getLength()));
                        List<ILocationInResource> sourceInformationAsList = Lists
                                .newArrayList(sourceInformation);
                        if (!canShowMultipleHyperlinks && sourceInformationAsList.size() > 1)
                            return null;
                        List<LinkToOrigin> result = Lists
                                .newArrayListWithCapacity(sourceInformationAsList.size());
                        for (ILocationInResource source : sourceInformationAsList) {
                            try {
                                URI resourceURI = source.getAbsoluteResourceURI();
                                if (resourceURI != null) {
                                    IResourceServiceProvider serviceProvider = serviceProviderRegistry
                                            .getResourceServiceProvider(resourceURI);
                                    if (serviceProvider == null)
                                        return null;
                                    LinkToOriginProvider provider = serviceProvider
                                            .get(LinkToOriginProvider.class);
                                    LinkToOrigin hyperlink = provider.createLinkToOrigin(source, selectedWord,
                                            selectedMember, compilationUnit, result);
                                    if (hyperlink != null) {
                                        result.add(hyperlink);
                                    }
                                }
                            } catch (IllegalArgumentException e) {
                                /* invalid URI - ignore */ }
                        }
                        if (result.isEmpty())
                            return null;
                        return result.toArray(new IHyperlink[result.size()]);
                    }
                }
            }
            return null;
        } catch (JavaModelException e) {
            return null;
        }
    } catch (Throwable t) {
        return null;
    }
}

From source file:org.switchyard.tools.ui.wizards.Java2WSDLOptionsWizardPage.java

License:Open Source License

private void initFromJavaElement(IJavaElement javaElement) {
    if (javaElement.getElementType() == IJavaElement.TYPE) {
        initFromType((IType) javaElement);
    } else if (javaElement.getElementType() == IJavaElement.COMPILATION_UNIT) {
        initFromCU((ICompilationUnit) javaElement);
    } else if (javaElement.getJavaProject() != null) {
        initFromProject(javaElement.getJavaProject().getProject());
    }/*from w w  w  . ja  v  a2s.  c om*/
}

From source file:org.switchyard.tools.ui.wizards.Java2WSDLWizard.java

License:Open Source License

private void setFilePageDefaultsForJavaElement(IJavaElement javaElement) {
    IResource root;/*w w  w.  j av a2 s . c  om*/
    switch (javaElement.getElementType()) {
    case IJavaElement.PACKAGE_FRAGMENT:
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        root = javaElement.getResource();
        break;
    default:
        root = JavaUtil.getFirstResourceRoot(javaElement.getJavaProject());
        if (root == null) {
            root = javaElement.getResource();
            if (root.getType() == IResource.FILE) {
                root = root.getParent();
            }
        }
        break;
    }
    if (root != null) {
        _filePage.setContainerFullPath(root.getFullPath());
    }
    int elementType = javaElement.getElementType();
    if (elementType == IJavaElement.TYPE) {
        _filePage.setFileName(javaElement.getElementName());
    } else if (elementType == IJavaElement.COMPILATION_UNIT) {
        IType primaryType = ((ICompilationUnit) javaElement).findPrimaryType();
        if (primaryType == null) {
            getBaseFileName(javaElement.getElementName());
        } else {
            _filePage.setFileName(primaryType.getElementName());
        }
    }
}

From source file:org.switchyard.tools.ui.wizards.NewBeanServiceClassWizardPage.java

License:Open Source License

/**
 * @param selection the current selection
 *//*from  w ww. jav a 2s.com*/
public void init(IStructuredSelection selection) {
    IJavaElement elem = getInitialJavaElement(selection);
    ICompilationUnit cu = elem == null ? null
            : (ICompilationUnit) elem.getAncestor(IJavaElement.COMPILATION_UNIT);
    if (cu != null) {
        elem = cu.findPrimaryType();
    }
    initContainerPage(getInitialContainerElement(selection, elem));
    initTypePage(elem);
    List<String> superInterfaces = getSuperInterfaces();
    if (superInterfaces.size() > 0) {
        initServiceInterface(superInterfaces.get(0));
    }
    setModifiers(Flags.AccPublic, false);
    _createTestClassButton.setSelection(false);
    doStatusUpdate();
}

From source file:org.switchyard.tools.ui.wizards.NewServiceTestClassWizardPage.java

License:Open Source License

/**
 * @param selection the current selection
 *///from ww w .j ava 2 s .  c o  m
public void init(IStructuredSelection selection) {
    IJavaElement elem = getInitialJavaElement(selection);
    ICompilationUnit cu = elem == null ? null
            : (ICompilationUnit) elem.getAncestor(IJavaElement.COMPILATION_UNIT);
    if (cu != null) {
        elem = cu.findPrimaryType();
    }
    initContainerPage(getInitialContainerElement(selection, elem));
    initTypePage(elem);
    // clear out super types
    setSuperClass("", true); //$NON-NLS-1$
    setSuperInterfaces(Collections.<String>emptyList(), true);
    setModifiers(Flags.AccPublic, false);
    if (getTypeName().length() == 0) {
        String simpleServiceInterfaceName = getSimpleServiceInterfaceName();
        if (simpleServiceInterfaceName.length() > 0) {
            _oldTypeName = createDefaultClassName();
            setTypeName(_oldTypeName, true);
        }
    }
    if (_mavenProjectFacade != null) {
        IPath[] testSourcePaths = _mavenProjectFacade.getTestCompileSourceLocations();
        if (testSourcePaths != null && testSourcePaths.length > 0) {
            setPackageFragmentRoot(
                    getJavaProject().getPackageFragmentRoot(_project.getFolder(testSourcePaths[0])), true);
        }
    }
    setSuperInterfaces(Collections.<String>emptyList(), false);
    doStatusUpdate();
}

From source file:org.synyx.hades.eclipse.beans.ui.model.HadesModelLabelDecorator.java

License:Apache License

@Override
protected void decorateJavaElement(IJavaElement element, IDecoration decoration) {

    int type = element.getElementType();
    IProject project = element.getJavaProject().getProject();

    try {//from ww w .  j av  a  2 s . c o m

        if (type == IJavaElement.CLASS_FILE) {

            // Decorate Java class file
            IType javaType = ((IClassFile) element).getType();

            if (HadesUtils.hasDaoBeanFor(project, javaType)) {
                decoration.addOverlay(BeansUIImages.DESC_OVR_SPRING);
            }

        } else if (type == IJavaElement.COMPILATION_UNIT) {

            // Decorate Java source file
            for (IType javaType : ((ICompilationUnit) element).getTypes()) {
                if (HadesUtils.hasDaoBeanFor(project, javaType)) {
                    decoration.addOverlay(BeansUIImages.DESC_OVR_SPRING);
                    break;
                }
            }
        }

    } catch (JavaModelException e) {
        // ignore
    }

    super.decorateJavaElement(element, decoration);
}

From source file:org.teavm.eclipse.TeaVMProjectBuilder.java

License:Apache License

private Integer findMethodLocation(MethodReference methodRef, IResource resource) throws CoreException {
    if (resource.getType() != IResource.FILE) {
        return null;
    }/* w w w.  j  a  v a2 s  . c om*/
    IJavaElement rootElement = JavaCore.createCompilationUnitFrom((IFile) resource);
    if (rootElement.getElementType() != IJavaElement.COMPILATION_UNIT) {
        return null;
    }
    ICompilationUnit unit = (ICompilationUnit) rootElement;
    IType type = unit.getType(getSimpleClassName(methodRef.getClassName()));
    if (type == null) {
        return null;
    }
    for (IMethod method : type.getMethods()) {
        StringBuilder sb = new StringBuilder();
        sb.append(method.getElementName()).append('(');
        for (String paramType : method.getParameterTypes()) {
            sb.append(Signature.getTypeErasure(paramType));
        }
        sb.append(')').append(Signature.getTypeErasure(method.getReturnType()));
        if (sb.toString().equals(methodRef.getDescriptor().toString())) {
            return getLineNumber(method);
        }
    }
    return null;
}

From source file:org.whole.lang.artifacts.util.ArtifactsWorkspaceUtils.java

License:Open Source License

public static IEntity toArtifactsPath(IJavaElement fromJavaElement, IJavaElement toJavaElement, IEntity child) {
    ArtifactsEntityFactory aef = ArtifactsEntityFactory.instance(RegistryConfigurations.RESOLVER);

    IEntity entity;//from  www  .  ja  v  a2s . co m
    String name = toJavaElement.getElementName();
    switch (toJavaElement.getElementType()) {
    case IJavaElement.COMPILATION_UNIT:
        FileArtifact fileArtifact = aef.createFileArtifact();
        fileArtifact.setName(createFileName(name));
        entity = fileArtifact;
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        if (name == IPackageFragment.DEFAULT_PACKAGE_NAME)
            return fromJavaElement.equals(toJavaElement) ? child
                    : toArtifactsPath(fromJavaElement, toJavaElement.getParent(), child);

        PackageArtifact packageArtifact = aef.createPackageArtifact();
        packageArtifact.setName(aef.createName(name));
        entity = packageArtifact;
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        FolderArtifact folderArtifact = aef.createFolderArtifact();
        Metadata metadata = aef.createMetadata();
        metadata.setAttributes(aef.createAttributes(aef.createAttribute(AttributeEnum.source)));
        folderArtifact.setMetadata(metadata);
        folderArtifact.setName(aef.createName(name));
        entity = folderArtifact;
        break;
    case IJavaElement.JAVA_PROJECT:
        Project project = aef.createProject();
        project.setName(aef.createName(name));
        project.setNatures(aef.createNatures(aef.createNature("org.eclipse.jdt.core.javanature")));
        project.setArtifacts(aef.createArtifacts(0));
        entity = project;
        break;
    default:
    case IJavaElement.JAVA_MODEL:
        Workspace workspace = aef.createWorkspace();
        workspace.setProjects(aef.createProjects(0));
        entity = workspace;
        break;
    }
    boolean isWorkspace = Matcher.match(ArtifactsEntityDescriptorEnum.Workspace, entity);
    if (!EntityUtils.isNull(child))
        entity.wGet(isWorkspace ? ArtifactsFeatureDescriptorEnum.projects
                : ArtifactsFeatureDescriptorEnum.artifacts).wAdd(child);

    return fromJavaElement.equals(toJavaElement) ? entity
            : toArtifactsPath(fromJavaElement, toJavaElement.getParent(), entity);
}