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

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

Introduction

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

Prototype

int JAVA_PROJECT

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

Click Source Link

Document

Constant representing a Java project.

Usage

From source file:at.bestsolution.fxide.jdt.corext.javadoc.JavaDocLocations.java

License:Open Source License

public static URL getJavadocBaseLocation(IJavaElement element) throws JavaModelException {
    if (element.getElementType() == IJavaElement.JAVA_PROJECT) {
        return getProjectJavadocLocation((IJavaProject) element);
    }//  ww w .j a va  2s .  co m

    IPackageFragmentRoot root = JavaModelUtil.getPackageFragmentRoot(element);
    if (root == null) {
        return null;
    }

    if (root.getKind() == IPackageFragmentRoot.K_BINARY) {
        IClasspathEntry entry = root.getResolvedClasspathEntry();
        URL javadocLocation = getLibraryJavadocLocation(entry);
        if (javadocLocation != null) {
            return getLibraryJavadocLocation(entry);
        }
        entry = root.getRawClasspathEntry();
        switch (entry.getEntryKind()) {
        case IClasspathEntry.CPE_LIBRARY:
        case IClasspathEntry.CPE_VARIABLE:
            return getLibraryJavadocLocation(entry);
        default:
            return null;
        }
    } else {
        return getProjectJavadocLocation(root.getJavaProject());
    }
}

From source file:at.bestsolution.fxide.jdt.text.viewersupport.JavaElementLabelComposer.java

License:Open Source License

/**
 * Appends the label for a Java element with the flags as defined by this class.
 *
 * @param element the element to render/*from w w w . ja v  a 2  s.  co  m*/
 * @param flags the rendering flags.
 */
public void appendElementLabel(IJavaElement element, long flags) {
    int type = element.getElementType();
    IPackageFragmentRoot root = null;

    if (type != IJavaElement.JAVA_MODEL && type != IJavaElement.JAVA_PROJECT
            && type != IJavaElement.PACKAGE_FRAGMENT_ROOT)
        root = JavaModelUtil.getPackageFragmentRoot(element);
    if (root != null && getFlag(flags, JavaElementLabels.PREPEND_ROOT_PATH)) {
        appendPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED);
        fBuffer.append(JavaElementLabels.CONCAT_STRING);
    }

    switch (type) {
    case IJavaElement.METHOD:
        appendMethodLabel((IMethod) element, flags);
        break;
    case IJavaElement.FIELD:
        appendFieldLabel((IField) element, flags);
        break;
    case IJavaElement.LOCAL_VARIABLE:
        appendLocalVariableLabel((ILocalVariable) element, flags);
        break;
    case IJavaElement.TYPE_PARAMETER:
        appendTypeParameterLabel((ITypeParameter) element, flags);
        break;
    case IJavaElement.INITIALIZER:
        appendInitializerLabel((IInitializer) element, flags);
        break;
    case IJavaElement.TYPE:
        appendTypeLabel((IType) element, flags);
        break;
    case IJavaElement.CLASS_FILE:
        appendClassFileLabel((IClassFile) element, flags);
        break;
    case IJavaElement.COMPILATION_UNIT:
        appendCompilationUnitLabel((ICompilationUnit) element, flags);
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        appendPackageFragmentLabel((IPackageFragment) element, flags);
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        appendPackageFragmentRootLabel((IPackageFragmentRoot) element, flags);
        break;
    case IJavaElement.IMPORT_CONTAINER:
    case IJavaElement.IMPORT_DECLARATION:
    case IJavaElement.PACKAGE_DECLARATION:
        appendDeclarationLabel(element, flags);
        break;
    case IJavaElement.JAVA_PROJECT:
    case IJavaElement.JAVA_MODEL:
        fBuffer.append(element.getElementName());
        break;
    default:
        fBuffer.append(element.getElementName());
    }

    if (root != null && getFlag(flags, JavaElementLabels.APPEND_ROOT_PATH)) {
        int offset = fBuffer.length();
        fBuffer.append(JavaElementLabels.CONCAT_STRING);
        appendPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED);

        //         if (getFlag(flags, JavaElementLabels.COLORIZE)) {
        //            fBuffer.setStyle(offset, fBuffer.length() - offset, QUALIFIER_STYLE);
        //         }

    }
}

From source file:br.ufmg.dcc.tabuleta.decorators.LightWeightDecorator.java

License:Open Source License

private Set<Object> getAllParents(Set<Object> pElements, String pConcern) {
    Set<Object> lReturn = new HashSet<Object>();
    Set<Object> lNotFilteredElements = new HashSet<Object>();
    lNotFilteredElements.addAll(pElements);

    //If the filter is enabled, remove the elements of pElements that have a degree lower than the threshold
    if (Tabuleta.getDefault().getPreferenceStore().getBoolean(ConcernMapperPreferencePage.P_FILTER_ENABLED)) {
        Set<Object> lFilteredElements = new HashSet<Object>();
        for (Object lNext : lNotFilteredElements) {
            if (Tabuleta.getDefault().getConcernModel().getDegree(pConcern, lNext) < Tabuleta.getDefault()
                    .getPreferenceStore().getInt(ConcernMapperPreferencePage.P_FILTER_THRESHOLD)) {
                lFilteredElements.add(lNext);
            }/*from  ww w.j av a 2 s.c o  m*/
        }
        for (Object lNext : lFilteredElements) {
            lNotFilteredElements.remove(lNext);
        }
    }
    //Get the top parent to decorate from the preference store
    int lTopParent = IJavaElement.JAVA_PROJECT;
    if (!Tabuleta.getDefault().getPreferenceStore().getString(ConcernMapperPreferencePage.P_DECORATION_LIMIT)
            .equals("")) {
        lTopParent = Integer.parseInt(Tabuleta.getDefault().getPreferenceStore()
                .getString(ConcernMapperPreferencePage.P_DECORATION_LIMIT));
    }
    // Get the parents
    for (Object lNext : lNotFilteredElements) {
        if (lNext != null) {
            if (lNext instanceof IJavaElement) {
                IJavaElement lParent = ((IJavaElement) lNext).getParent();
                assert lParent != null;
                while (lParent.getElementType() != lTopParent) {
                    lReturn.add(lParent);
                    lParent = lParent.getParent();
                    assert lParent != null;
                }
            }
        }

    }
    return lReturn;
}

From source file:ca.uvic.chisel.diver.mylyn.logger.logging.PageSelectionListener.java

License:Open Source License

/**
 * @param je/*from w w w  . j ava  2s. c o  m*/
 * @return
 */
private String getElementType(IJavaElement je) {
    switch (je.getElementType()) {
    case IJavaElement.ANNOTATION:
        return "annotation";
    case IJavaElement.CLASS_FILE:
        return "classfile";
    case IJavaElement.COMPILATION_UNIT:
        return "compilationunit";
    case IJavaElement.FIELD:
        return "field";
    case IJavaElement.IMPORT_CONTAINER:
        return "importcontainer";
    case IJavaElement.IMPORT_DECLARATION:
        return "importdeclaration";
    case IJavaElement.INITIALIZER:
        return "initializer";
    case IJavaElement.JAVA_MODEL:
        return "javamodel";
    case IJavaElement.JAVA_PROJECT:
        return "javaproject";
    case IJavaElement.LOCAL_VARIABLE:
        return "localvariable";
    case IJavaElement.METHOD:
        return "method";
    case IJavaElement.PACKAGE_DECLARATION:
        return "packagedeclaration";
    case IJavaElement.PACKAGE_FRAGMENT:
        return "packagefragment";
    case IJavaElement.TYPE:
        return "type";
    case IJavaElement.TYPE_PARAMETER:
        return "typeparameter";
    }
    return "null";
}

From source file:com.android.ide.eclipse.adt.internal.launch.junit.AndroidJUnitPropertyTester.java

License:Open Source License

private boolean canLaunchAsJUnitTest(IJavaElement element) {
    try {//w ww  . j a  va  2s .c  om
        switch (element.getElementType()) {
        case IJavaElement.JAVA_PROJECT:
            return true; // can run, let JDT detect if there are tests
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
            return false; // not supported by Android test runner
        case IJavaElement.PACKAGE_FRAGMENT:
            return ((IPackageFragment) element).hasChildren();
        case IJavaElement.COMPILATION_UNIT:
        case IJavaElement.CLASS_FILE:
        case IJavaElement.TYPE:
        case IJavaElement.METHOD:
            return isJUnitTest(element);
        default:
            return false;
        }
    } catch (JavaModelException e) {
        return false;
    }
}

From source file:com.android.ide.eclipse.adt.internal.refactoring.core.AndroidPackageRenameParticipant.java

License:Open Source License

@Override
public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
    if (pm.isCanceled()) {
        return null;
    }/*from   ww w  .j a va2 s  .com*/
    if (!getArguments().getUpdateReferences())
        return null;
    IPath pkgPath = mPackageFragment.getPath();
    IJavaProject javaProject = (IJavaProject) mPackageFragment.getAncestor(IJavaElement.JAVA_PROJECT);
    IProject project = javaProject.getProject();
    IPath genPath = project.getFullPath().append(SdkConstants.FD_GEN_SOURCES);
    if (genPath.isPrefixOf(pkgPath)) {
        RefactoringUtil.logInfo(getName() + ": Cannot rename generated package.");
        return null;
    }
    CompositeChange result = new CompositeChange(getName());
    if (mAndroidManifest.exists()) {
        if (mAndroidElements.size() > 0 || mIsPackage) {
            getDocument();
            Change change = new AndroidPackageRenameChange(mAndroidManifest, mManager, mDocument,
                    mAndroidElements, mNewName, mOldName, mIsPackage);
            if (change != null) {
                result.add(change);
            }
        }
        if (mIsPackage) {
            Change genChange = getGenPackageChange(pm);
            if (genChange != null) {
                result.add(genChange);
            }
        }
        // add layoutChange
        for (AndroidLayoutFileChanges fileChange : mFileChanges) {
            IFile file = fileChange.getFile();
            ITextFileBufferManager lManager = FileBuffers.getTextFileBufferManager();
            lManager.connect(file.getFullPath(), LocationKind.NORMALIZE, new NullProgressMonitor());
            ITextFileBuffer buffer = lManager.getTextFileBuffer(file.getFullPath(), LocationKind.NORMALIZE);
            IDocument lDocument = buffer.getDocument();
            Change layoutChange = new AndroidLayoutChange(file, lDocument, lManager, fileChange.getChanges());
            if (layoutChange != null) {
                result.add(layoutChange);
            }
        }
    }
    return (result.getChildren().length == 0) ? null : result;
}

From source file:com.android.ide.eclipse.adt.internal.refactoring.core.AndroidPackageRenameParticipant.java

License:Open Source License

/**
 * Return the gen package fragment// w w  w  .j a  v  a  2  s.co  m
 *
 */
private IPackageFragment getGenPackageFragment() throws JavaModelException {
    IJavaProject javaProject = (IJavaProject) mPackageFragment.getAncestor(IJavaElement.JAVA_PROJECT);
    if (javaProject != null && javaProject.isOpen()) {
        IProject project = javaProject.getProject();
        IFolder genFolder = project.getFolder(SdkConstants.FD_GEN_SOURCES);
        if (genFolder.exists()) {
            String javaPackagePath = mAppPackage.replace(".", "/");
            IPath genJavaPackagePath = genFolder.getFullPath().append(javaPackagePath);
            IPackageFragment genPackageFragment = javaProject.findPackageFragment(genJavaPackagePath);
            return genPackageFragment;
        }
    }
    return null;
}

From source file:com.android.ide.eclipse.adt.internal.refactoring.core.AndroidPackageRenameParticipant.java

License:Open Source License

@Override
protected boolean initialize(final Object element) {
    mIsPackage = false;/*from ww w .ja va 2 s .c  o m*/
    try {
        if (element instanceof IPackageFragment) {
            mPackageFragment = (IPackageFragment) element;
            if (!mPackageFragment.containsJavaResources())
                return false;
            IJavaProject javaProject = (IJavaProject) mPackageFragment.getAncestor(IJavaElement.JAVA_PROJECT);
            IProject project = javaProject.getProject();
            IResource manifestResource = project
                    .findMember(AdtConstants.WS_SEP + SdkConstants.FN_ANDROID_MANIFEST_XML);

            if (manifestResource == null || !manifestResource.exists()
                    || !(manifestResource instanceof IFile)) {
                RefactoringUtil.logInfo("Invalid or missing the " + SdkConstants.FN_ANDROID_MANIFEST_XML
                        + " in the " + project.getName() + " project.");
                return false;
            }
            mAndroidManifest = (IFile) manifestResource;
            String packageName = mPackageFragment.getElementName();
            ManifestData manifestData;
            manifestData = AndroidManifestHelper.parseForData(mAndroidManifest);
            if (manifestData == null) {
                return false;
            }
            mAppPackage = manifestData.getPackage();
            mOldName = packageName;
            mNewName = getArguments().getNewName();
            if (mOldName == null || mNewName == null) {
                return false;
            }

            if (RefactoringUtil.isRefactorAppPackage() && mAppPackage != null
                    && mAppPackage.equals(packageName)) {
                mIsPackage = true;
            }
            mAndroidElements = addAndroidElements();
            try {
                final IType type = javaProject.findType(SdkConstants.CLASS_VIEW);
                SearchPattern pattern = SearchPattern.createPattern("*", IJavaSearchConstants.TYPE,
                        IJavaSearchConstants.DECLARATIONS, SearchPattern.R_REGEXP_MATCH);
                IJavaSearchScope scope = SearchEngine
                        .createJavaSearchScope(new IJavaElement[] { mPackageFragment });
                final HashSet<IType> elements = new HashSet<IType>();
                SearchRequestor requestor = new SearchRequestor() {

                    @Override
                    public void acceptSearchMatch(SearchMatch match) throws CoreException {
                        Object elem = match.getElement();
                        if (elem instanceof IType) {
                            IType eType = (IType) elem;
                            IType[] superTypes = JavaModelUtil.getAllSuperTypes(eType,
                                    new NullProgressMonitor());
                            for (int i = 0; i < superTypes.length; i++) {
                                if (superTypes[i].equals(type)) {
                                    elements.add(eType);
                                    break;
                                }
                            }
                        }

                    }
                };
                SearchEngine searchEngine = new SearchEngine();
                searchEngine.search(pattern,
                        new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, scope,
                        requestor, null);
                List<String> views = new ArrayList<String>();
                for (IType elem : elements) {
                    views.add(elem.getFullyQualifiedName());
                }
                if (views.size() > 0) {
                    String[] classNames = views.toArray(new String[0]);
                    addLayoutChanges(project, classNames);
                }
            } catch (CoreException e) {
                RefactoringUtil.log(e);
            }

            return mIsPackage || mAndroidElements.size() > 0 || mFileChanges.size() > 0;
        }
    } catch (JavaModelException ignore) {
    }
    return false;
}

From source file:com.android.ide.eclipse.adt.internal.refactoring.core.AndroidTypeMoveParticipant.java

License:Open Source License

@Override
protected boolean initialize(Object element) {

    if (element instanceof IType) {
        IType type = (IType) element;/*  w  w  w  .j  av a  2 s . co m*/
        IJavaProject javaProject = (IJavaProject) type.getAncestor(IJavaElement.JAVA_PROJECT);
        IProject project = javaProject.getProject();
        IResource manifestResource = project
                .findMember(AdtConstants.WS_SEP + SdkConstants.FN_ANDROID_MANIFEST_XML);

        if (manifestResource == null || !manifestResource.exists() || !(manifestResource instanceof IFile)) {
            RefactoringUtil.logInfo("Invalid or missing the " + SdkConstants.FN_ANDROID_MANIFEST_XML
                    + " in the " + project.getName() + " project.");
            return false;
        }
        mAndroidManifest = (IFile) manifestResource;
        ManifestData manifestData;
        manifestData = AndroidManifestHelper.parseForData(mAndroidManifest);
        if (manifestData == null) {
            return false;
        }
        mJavaPackage = manifestData.getPackage();
        mOldName = type.getFullyQualifiedName();
        Object destination = getArguments().getDestination();
        if (destination instanceof IPackageFragment) {
            IPackageFragment packageFragment = (IPackageFragment) destination;
            mNewName = packageFragment.getElementName() + "." + type.getElementName();
        }
        if (mOldName == null || mNewName == null) {
            return false;
        }
        mAndroidElements = addAndroidElements();
        try {
            ITypeHierarchy typeHierarchy = type.newSupertypeHierarchy(null);
            if (typeHierarchy == null) {
                return false;
            }
            IType[] superTypes = typeHierarchy.getAllSuperclasses(type);
            for (int i = 0; i < superTypes.length; i++) {
                IType superType = superTypes[i];
                String className = superType.getFullyQualifiedName();
                if (className.equals(SdkConstants.CLASS_VIEW)) {
                    addLayoutChanges(project, type.getFullyQualifiedName());
                    break;
                }
            }
        } catch (JavaModelException ignore) {
        }
        return mAndroidElements.size() > 0 || mFileChanges.size() > 0;
    }
    return false;
}

From source file:com.android.ide.eclipse.adt.internal.refactoring.core.AndroidTypeRenameParticipant.java

License:Open Source License

@Override
protected boolean initialize(Object element) {

    if (element instanceof IType) {
        IType type = (IType) element;//ww w .  j av a2 s  .co  m
        IJavaProject javaProject = (IJavaProject) type.getAncestor(IJavaElement.JAVA_PROJECT);
        IProject project = javaProject.getProject();
        IResource manifestResource = project
                .findMember(AdtConstants.WS_SEP + SdkConstants.FN_ANDROID_MANIFEST_XML);

        if (manifestResource == null || !manifestResource.exists() || !(manifestResource instanceof IFile)) {
            RefactoringUtil.logInfo("Invalid or missing the " + SdkConstants.FN_ANDROID_MANIFEST_XML
                    + " in the " + project.getName() + " project.");
            return false;
        }
        mAndroidManifest = (IFile) manifestResource;
        ManifestData manifestData;
        manifestData = AndroidManifestHelper.parseForData(mAndroidManifest);
        if (manifestData == null) {
            return false;
        }
        mAppPackage = manifestData.getPackage();
        mOldName = type.getFullyQualifiedName();
        String packageName = type.getPackageFragment().getElementName();
        mNewName = getArguments().getNewName();
        if (packageName != null) {
            mLayoutNewName = packageName + "." + getArguments().getNewName(); //$NON-NLS-1$
        } else {
            mLayoutNewName = getArguments().getNewName();
        }
        if (mOldName == null || mNewName == null) {
            return false;
        }
        if (!RefactoringUtil.isRefactorAppPackage() && mNewName.indexOf(".") == -1) { //$NON-NLS-1$
            mNewName = packageName + "." + mNewName; //$NON-NLS-1$
        }
        mAndroidElements = addAndroidElements();
        try {
            ITypeHierarchy typeHierarchy = type.newSupertypeHierarchy(null);
            if (typeHierarchy == null) {
                return false;
            }
            IType[] superTypes = typeHierarchy.getAllSuperclasses(type);
            for (int i = 0; i < superTypes.length; i++) {
                IType superType = superTypes[i];
                String className = superType.getFullyQualifiedName();
                if (className.equals(SdkConstants.CLASS_VIEW)) {
                    addLayoutChanges(project, type.getFullyQualifiedName());
                    break;
                }
            }
        } catch (JavaModelException ignore) {
        }

        return mAndroidElements.size() > 0 || mFileChanges.size() > 0;
    }
    return false;
}