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

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

Introduction

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

Prototype

int CLASS_FILE

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

Click Source Link

Document

Constant representing a class file.

Usage

From source file:org.eclipse.jpt.jpa.core.jpql.DefaultContentAssistExtension.java

License:Open Source License

/**
 * {@inheritDoc}//from ww  w . j a  v a2 s  .co  m
 */
public Iterable<String> classNames(String prefix, ClassType classType) {

    IJavaProject javaProject = jpaProject.getJavaProject();
    Set<String> classNames = new HashSet<String>();
    boolean emptyPrefix = (prefix.length() == 0);
    int index = !emptyPrefix ? prefix.lastIndexOf('.') : -1;
    boolean hasDot = (index > -1);

    // Note: In order to increase performance by preventing array creation and filtering,
    //       IParent.getChildren() is used, then a simple check is performed on the element type
    try {

        // Traverse the packages
        for (IPackageFragment packageFragment : javaProject.getPackageFragments()) {
            String packageName = packageFragment.getElementName();

            // Filter the package out if the prefix has a dot,
            // match the beginning of the prefix up to the last dot
            boolean packageAccepted = !hasDot || packageName.regionMatches(true, 0, prefix, 0, index);

            if (packageAccepted) {

                // Traverse the classes within the package
                for (IJavaElement javaElement : packageFragment.getChildren()) {

                    switch (javaElement.getElementType()) {

                    // Java source files
                    case IJavaElement.COMPILATION_UNIT: {

                        ICompilationUnit compilationUnit = (ICompilationUnit) javaElement;

                        for (IJavaElement cuChild : compilationUnit.getChildren()) {

                            // Class definition
                            if (cuChild.getElementType() == IJavaElement.TYPE) {
                                IType type = (IType) cuChild;
                                String className = type.getFullyQualifiedName();

                                // Filter out the class if required
                                // NOTE: An empty prefix will not filter anonymous or member classes,
                                //       to do so, we need to use what the Java content assist uses
                                //       otherwise it takes too long to calculate the valid classes
                                if (emptyPrefix || acceptClass(type, className, classType, prefix, hasDot)) {
                                    classNames.add(className);
                                }
                            }
                        }

                        break;
                    }

                    // Java class files
                    case IJavaElement.CLASS_FILE: {

                        IClassFile classFile = (IClassFile) javaElement;
                        IType type = classFile.getType();
                        String className = type.getFullyQualifiedName();

                        // Filter out the class if required
                        // NOTE: An empty prefix will not filter anonymous or member classes,
                        //       to do so, we need to use what the Java content assist uses
                        //       otherwise it takes too long to calculate the valid classes
                        if (emptyPrefix || acceptClass(type, className, classType, prefix, hasDot)) {
                            classNames.add(className);
                        }

                        break;
                    }
                    }
                }
            }
        }
    } catch (Exception e) {
        // Just ignore
    }

    return classNames;
}

From source file:org.eclipse.jst.common.jdt.internal.integration.ui.WTPUIWorkingCopyManager.java

License:Open Source License

protected IEditorInput getEditorInput(IJavaElement element) throws JavaModelException {
    IJavaElement localElement = element;
    while (localElement != null) {
        switch (localElement.getElementType()) {
        case IJavaElement.COMPILATION_UNIT: {
            ICompilationUnit cu = (ICompilationUnit) localElement;
            if (cu.isWorkingCopy())
                cu = cu.getPrimary();//from   w w  w  . j a v  a 2  s  . co m
            IResource resource = cu.getUnderlyingResource();
            if (resource.getType() == IResource.FILE)
                return new FileEditorInput((IFile) resource);
            break;
        }
        case IJavaElement.CLASS_FILE:
            return new InternalClassFileEditorInput((IClassFile) localElement);
        }
        localElement = localElement.getParent();
    }
    return null;
}

From source file:org.eclipse.jst.jsf.common.internal.types.TypeInfoCache.java

License:Open Source License

/**Removes all cached info that may be affected by the given change.
 * @param delta - the change in the java model
 *//*from   w  w w .ja v a  2  s  .co  m*/
protected void updateChangedJavaElement(IJavaElementDelta delta) {
    IJavaElement element = delta.getElement();
    switch (element.getElementType()) {
    case IJavaElement.JAVA_MODEL:
        updateChangedJavaModel(delta, element);
        break;
    case IJavaElement.JAVA_PROJECT:
        updateChangedJavaProject(delta, element);
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        updateChangedPackageFragmentRoot(delta, element);
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        updateChangedPackageFragment(delta, (IPackageFragment) element);
        break;
    case IJavaElement.CLASS_FILE:
    case IJavaElement.COMPILATION_UNIT:
        updateChangedOpenable(delta, element);
        break;
    }
}

From source file:org.eclipse.mylyn.internal.java.ui.JavaStructureBridge.java

License:Open Source License

/**
 * Some copying from://from  w  w  w.  j  a v  a  2 s  .c o  m
 * 
 * @see org.eclipse.jdt.ui.ProblemsLabelDecorator
 */
public boolean containsProblem(IInteractionElement node) {
    try {
        IJavaElement element = (IJavaElement) getObjectForHandle(node.getHandleIdentifier());
        switch (element.getElementType()) {
        case IJavaElement.JAVA_PROJECT:
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
            return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_INFINITE, null);
        case IJavaElement.PACKAGE_FRAGMENT:
        case IJavaElement.COMPILATION_UNIT:
        case IJavaElement.CLASS_FILE:
            return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_ONE, null);
        case IJavaElement.PACKAGE_DECLARATION:
        case IJavaElement.IMPORT_DECLARATION:
        case IJavaElement.IMPORT_CONTAINER:
        case IJavaElement.TYPE:
        case IJavaElement.INITIALIZER:
        case IJavaElement.METHOD:
        case IJavaElement.FIELD:
        case IJavaElement.LOCAL_VARIABLE:
            ICompilationUnit cu = (ICompilationUnit) element.getAncestor(IJavaElement.COMPILATION_UNIT);
            if (cu != null) {
                return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_ONE, null);
            }
        }
    } catch (CoreException e) {
        // ignore
    }
    return false;
}

From source file:org.eclipse.mylyn.java.ui.editor.AutoFoldingStructureProvider.java

License:Open Source License

private boolean isInnerType(IType type) {

    try {//w  w w. j av a2s . c  o m
        return type.isMember();
    } catch (JavaModelException x) {
        IJavaElement parent = type.getParent();
        if (parent != null) {
            int parentType = parent.getElementType();
            return (parentType != IJavaElement.COMPILATION_UNIT && parentType != IJavaElement.CLASS_FILE);
        }
    }

    return false;
}

From source file:org.eclipse.mylyn.java.ui.editor.MylarJavaOutlinePage.java

License:Open Source License

/**
 * Checks whether a given Java element is an inner type.
 * /*from   w ww. j ava2 s.  co  m*/
 * @param element the java element
 * @return <code>true</code> iff the given element is an inner type
 */
private boolean isInnerType(IJavaElement element) {

    if (element != null && element.getElementType() == IJavaElement.TYPE) {
        IType type = (IType) element;
        try {
            return type.isMember();
        } catch (JavaModelException e) {
            IJavaElement parent = type.getParent();
            if (parent != null) {
                int parentElementType = parent.getElementType();
                return (parentElementType != IJavaElement.COMPILATION_UNIT
                        && parentElementType != IJavaElement.CLASS_FILE);
            }
        }
    }

    return false;
}

From source file:org.eclipse.objectteams.otdt.core.ext.MarkableFactory.java

License:Open Source License

public static IMarkableJavaElement createMarkable(IJavaElement javaElement) {
    IClassFile classFile = (IClassFile) javaElement.getAncestor(IJavaElement.CLASS_FILE);
    if (classFile != null)
        return new JavaElementMarkable(classFile);
    else/*  w w w .  jav a2s.co m*/
        return new ResourceMarkable(javaElement.getResource());
}

From source file:org.eclipse.objectteams.otdt.core.OTModelManager.java

License:Open Source License

/**
 * Add the propriate Object Teams Model element for a given IType 
 *//*from   w w w .j  a  v a2s.  c  o  m*/
public IOTType addType(IType elem, int typeDeclFlags, String baseClassName, String baseClassAnchor,
        boolean isRoleFile) {
    IJavaElement parent = elem.getParent();
    IOTType result = null;

    switch (parent.getElementType()) {
    case IJavaElement.COMPILATION_UNIT:
    case IJavaElement.CLASS_FILE:
        if (isRoleFile) { //  could also be a teeam, which is handled inside the constructor
            if (elem.isBinary()) {
                MAPPING.addOTElement(result = new BinaryRoleType(elem, parent, typeDeclFlags, baseClassName,
                        baseClassAnchor));
            } else {
                MAPPING.addOTElement(
                        result = new RoleFileType(elem, parent, typeDeclFlags, baseClassName, baseClassAnchor));
            }
        } else if (TypeHelper.isTeam(typeDeclFlags)) {
            MAPPING.addOTElement(result = new OTType(IOTJavaElement.TEAM, elem, null, typeDeclFlags));
        }
        break;
    case IJavaElement.TYPE:
        IType encType = (IType) parent;
        IOTType otmParent = MAPPING.getOTElement(encType);

        result = maybeAddRoleType(elem, otmParent, typeDeclFlags, baseClassName, baseClassAnchor);
        break;
    //do nothing if anonymous type
    case IJavaElement.METHOD:
        break;
    case IJavaElement.INITIALIZER:
        break;
    case IJavaElement.FIELD:
        break;
    //TODO (jwl) Wether anonymous types are roles or not will be discoverable with 
    //           a future implementation (probably with the help of a newer version of the compiler)

    //             case IJavaElement.METHOD:
    //              IMethod encMethod   = (IMethod)parent;
    //              otmParent = MAPPING.getOTElement(encMethod.getDeclaringType());
    //              
    //              addRoleType(elem, otmParent, typeDeclFlags, baseClassName);
    //              break;
    //          case IJavaElement.INITIALIZER:
    //              IInitializer encInitializer   = (IInitializer)parent;
    //              otmParent = MAPPING.getOTElement(encInitializer.getDeclaringType());
    //              
    //              addRoleType(elem, otmParent, typeDeclFlags, baseClassName);
    //              break;
    //          case IJavaElement.FIELD:
    //              IField encField   = (IField)parent;
    //              otmParent = MAPPING.getOTElement(encField.getDeclaringType());
    //              
    //              addRoleType(elem, otmParent, typeDeclFlags, baseClassName);
    //              break;
    default:
        new Throwable("Warning: unexpected parent for OT element: " + parent).printStackTrace(); //$NON-NLS-1$
        break;
    }
    return result;
}

From source file:org.eclipse.objectteams.otdt.internal.ui.callinmarkers.CallinMarkerCreator2.java

License:Open Source License

/**
 * Fetch all methods and fields contained in the input.
* @param javaElement the corresponding ICompilationUnit, IClassFile or IType
*/// w  ww.j av a  2  s  .c  o  m
private Set<IMember> getAllMethodsAndFields(IJavaElement javaElement) {
    if (javaElement == null)
        return new HashSet<IMember>(0);

    Set<IMember> members = new HashSet<IMember>(13);

    switch (javaElement.getElementType()) {
    case IJavaElement.COMPILATION_UNIT: {
        ICompilationUnit unit = (ICompilationUnit) javaElement;
        IType[] types;
        try {

            types = unit.getTypes();
            for (int idx = 0; idx < types.length; idx++)
                members.addAll(getAllMethodsAndFields(types[idx]));

        } catch (JavaModelException e) {
            // ignore, without types we simply find no methods
        }
        break;
    }
    case IJavaElement.CLASS_FILE: {
        IClassFile classFile = (IClassFile) javaElement;
        members.addAll(getAllMethodsAndFields(classFile.getType()));
        break;
    }
    case IJavaElement.TYPE: {
        IType type = (IType) javaElement;
        try {

            members.addAll(Arrays.asList(type.getMethods()));
            members.addAll(Arrays.asList(type.getFields()));
            IOTType otType = OTModelManager.getOTElement(type);
            if (otType != null && otType.isRole())
                for (IMethodMapping mapping : ((IRoleType) otType).getMethodMappings(IRoleType.CALLOUTS))
                    members.add(mapping);
            // handle all inner types
            IType[] memberTypes = type.getTypes();
            for (int idx = 0; idx < memberTypes.length; idx++)
                members.addAll(getAllMethodsAndFields(memberTypes[idx]));

        } catch (JavaModelException e) {
            // ignore, finding methods bailed out but keep those we already found
        }
        break;
    }
    default:
        break;
    }

    return members;
}

From source file:org.eclipse.objectteams.otdt.ui.tests.refactoring.reorg.OTCopyToClipboardTests.java

License:Open Source License

private static int countResources(IJavaElement[] javaElementsCopied) {
    int count = 0;
    for (int i = 0; i < javaElementsCopied.length; i++) {
        IJavaElement element = javaElementsCopied[i];
        switch (element.getElementType()) {
        case IJavaElement.JAVA_PROJECT:
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        case IJavaElement.PACKAGE_FRAGMENT:
        case IJavaElement.COMPILATION_UNIT:
        case IJavaElement.CLASS_FILE:
            count++;/*from  w  w w. j  av  a 2s. c o  m*/
        }
    }
    return count;
}