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.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsMetamodel.java

License:Open Source License

/**
 * Searches and returns all JAX-RS Java-based Elements matching the given
 * {@link IJavaElement}, which can be {@link Annotation} {@link IProject},
 * {@link IPackageFragmentRoot}, {@link ICompilationUnit} or an
 * {@link IMember}//from   w  w  w.  j a  va2 s  .c o m
 * 
 * @param javaElement
 *            the java element
 * 
 * @return the JAX-RS Elements matching the given Java Element or empty list
 *         if none matches.
 */
public <T extends IJaxrsElement> Set<T> findElements(final IJavaElement javaElement) {
    if (javaElement == null) {
        return Collections.emptySet();
    }
    try {
        readWriteLock.readLock().lock();
        final String identifier = javaElement.getHandleIdentifier();
        switch (javaElement.getElementType()) {
        case IJavaElement.JAVA_PROJECT:
            return searchJaxrsElements(new Term(FIELD_JAVA_PROJECT_IDENTIFIER, identifier));
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
            return searchJaxrsElements(new Term(FIELD_PACKAGE_FRAGMENT_ROOT_IDENTIFIER, identifier));
        case IJavaElement.COMPILATION_UNIT:
            return searchJaxrsElements(new Term(FIELD_COMPILATION_UNIT_IDENTIFIER, identifier));
        default:
            return searchJaxrsElements(LuceneDocumentFactory.getIdentifierTerm(javaElement));
        }
    } finally {
        readWriteLock.readLock().unlock();
    }
}

From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsParameterAggregatorField.java

License:Open Source License

@Override
public void update(final IJavaElement javaElement, final CompilationUnit ast) throws CoreException {
    if (javaElement == null) {
        remove(FlagsUtils.computeElementFlags(this));
    } else {/*w  ww.j  a va2  s  . c  o  m*/
        // NOTE: the given javaElement may be an ICompilationUnit (after
        // resource change) !!
        switch (javaElement.getElementType()) {
        case IJavaElement.COMPILATION_UNIT:
            final IType primaryType = ((ICompilationUnit) javaElement).findPrimaryType();
            if (primaryType != null) {
                final IField field = primaryType.getField(getJavaElement().getElementName());
                update(field, ast);
            }
            break;
        case IJavaElement.FIELD:
            update(from((IField) javaElement, ast).buildTransient());
        }
    }
}

From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsParameterAggregatorProperty.java

License:Open Source License

@Override
public void update(final IJavaElement javaElement, final CompilationUnit ast) throws CoreException {
    if (javaElement == null) {
        remove(FlagsUtils.computeElementFlags(this));
    } else {/*  ww w .j ava 2  s .co m*/
        // NOTE: the given javaElement may be an ICompilationUnit (after
        // resource change) !!
        switch (javaElement.getElementType()) {
        case IJavaElement.COMPILATION_UNIT:
            final IType primaryType = ((ICompilationUnit) javaElement).findPrimaryType();
            if (primaryType != null) {
                final IMethod method = primaryType.getMethod(getJavaElement().getElementName(),
                        getJavaElement().getParameterTypes());
                update(method, ast);
            }
            break;
        case IJavaElement.METHOD:
            update(from((IMethod) javaElement, ast).buildTransient());
        }
    }
}

From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsResource.java

License:Open Source License

/**
 * Builder initializer/*  ww w . j  a  va  2  s  .c o m*/
 * 
 * @param javaElement
 *            the underlying {@link IJavaElement} that on which this JAX-RS
 *            Element will be built.
 * @return the Builder
 * @throws JavaModelException
 */
public static Builder from(final IJavaElement javaElement, final Set<String> httpMethodNames)
        throws JavaModelException {
    final CompilationUnit ast = JdtUtils.parse(javaElement, new NullProgressMonitor());
    switch (javaElement.getElementType()) {
    case IJavaElement.COMPILATION_UNIT:
        return new Builder(((ICompilationUnit) javaElement).findPrimaryType(), ast, httpMethodNames);
    case IJavaElement.TYPE:
        return new Builder((IType) javaElement, ast, httpMethodNames);
    }
    return null;
}

From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsResource.java

License:Open Source License

/**
 * Builder initializer//from ww w  .ja v a 2  s  .  c o  m
 * 
 * @param javaElement
 *            the underlying {@link IJavaElement} that on which this JAX-RS
 *            Element will be built.
 * @param ast
 *            the associated AST
 * @return the Builder
 * @throws JavaModelException
 */
public static Builder from(final IJavaElement javaElement, final CompilationUnit ast,
        final Set<String> httpMethodNames) {
    switch (javaElement.getElementType()) {
    case IJavaElement.COMPILATION_UNIT:
        return new Builder(((ICompilationUnit) javaElement).findPrimaryType(), ast, httpMethodNames);
    case IJavaElement.TYPE:
        return new Builder((IType) javaElement, ast, httpMethodNames);
    }
    return null;
}

From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsResourceField.java

License:Open Source License

@Override
public void update(final IJavaElement javaElement, final CompilationUnit ast) throws CoreException {
    if (javaElement == null) {
        remove(FlagsUtils.computeElementFlags(this));
    } else {/*from www.j  a va  2  s  .c o  m*/
        // NOTE: the given javaElement may be an ICompilationUnit (after
        // resource change) !!
        switch (javaElement.getElementType()) {
        case IJavaElement.COMPILATION_UNIT:
            final IType primaryType = ((ICompilationUnit) javaElement).findPrimaryType();
            if (primaryType != null) {
                final IField field = primaryType.getField(getJavaElement().getElementName());
                update(field, ast);
            }
            break;
        case IJavaElement.FIELD:
            update(from((IField) javaElement, ast).build(false));
        }
    }
}

From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsResourceMethod.java

License:Open Source License

/**
 * Updates the current {@link JaxrsJavaElement} from the given
 * {@link IJavaElement}//from   w ww .j ava  2s. c o m
 * 
 * @param javaElement
 * @param ast
 * @return
 * @throws CoreException
 */
// TODO: add support for java method thrown exceptions..
@Override
public void update(final IJavaElement javaElement, final CompilationUnit ast) throws CoreException {
    if (javaElement == null) {
        remove(FlagsUtils.computeElementFlags(this));
    } else {
        // NOTE: the given javaElement may be an ICompilationUnit (after
        // resource change) !!
        switch (javaElement.getElementType()) {
        case IJavaElement.COMPILATION_UNIT:
            final IType primaryType = ((ICompilationUnit) javaElement).findPrimaryType();
            if (primaryType != null) {
                final IMethod method = primaryType.getMethod(getJavaElement().getElementName(),
                        getJavaElement().getParameterNames());
                update(method, ast);
            }
            break;
        case IJavaElement.METHOD:
            update(from((IMethod) javaElement, ast, getMetamodel().findAllHttpMethodNames()).buildTransient());
        }
    }
}

From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsResourceProperty.java

License:Open Source License

@Override
public void update(final IJavaElement javaElement, final CompilationUnit ast) throws CoreException {
    if (javaElement == null) {
        remove(FlagsUtils.computeElementFlags(this));
    } else {//from ww  w  .  j ava  2s.  c  o  m
        // NOTE: the given javaElement may be an ICompilationUnit (after
        // resource change) !!
        switch (javaElement.getElementType()) {
        case IJavaElement.COMPILATION_UNIT:
            final IType primaryType = ((ICompilationUnit) javaElement).findPrimaryType();
            if (primaryType != null) {
                final IField field = primaryType.getField(getJavaElement().getElementName());
                update(field, ast);
            }
            break;
        case IJavaElement.METHOD:
            update(from((IMethod) javaElement, ast).buildTransient());
        }
    }
}

From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.indexation.LuceneDocumentFactory.java

License:Open Source License

/**
 * Initialize a base Lucene Document for the given JAX-RS element.
 * /*from  ww w.java2  s  . com*/
 * @param element
 * @return a base document, to be completed with specific fields within the
 *         calling method.
 */
private static Document createBaseDocument(JaxrsJavaElement<?> element) {
    final Document document = new Document();
    addFieldToDocument(document, FIELD_JAVA_PROJECT_IDENTIFIER,
            getHandleIdentifier(element.getMetamodel().getJavaProject()));
    addFieldToDocument(document, FIELD_CATEGORY, element.getElementKind().getCategory().toString());
    addFieldToDocument(document, FIELD_IDENTIFIER, element.getIdentifier());
    if (element.getJavaElement() != null) {
        addFieldToDocument(document, FIELD_JAVA_ELEMENT, Boolean.TRUE.toString());
        addFieldToDocument(document, FIELD_COMPILATION_UNIT_IDENTIFIER,
                getHandleIdentifier(element.getJavaElement().getAncestor(IJavaElement.COMPILATION_UNIT)));
        addFieldToDocument(document, FIELD_PACKAGE_FRAGMENT_ROOT_IDENTIFIER,
                getHandleIdentifier(element.getJavaElement().getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT)));

        if (element.getJavaElement().getElementType() == IJavaElement.TYPE) {
            addFieldToDocument(document, FIELD_JAVA_CLASS_NAME,
                    ((IType) element.getJavaElement()).getFullyQualifiedName());
        }
    }
    for (Entry<String, Annotation> entry : element.getAnnotations().entrySet()) {
        addFieldToDocument(document, FIELD_ANNOTATION_NAME, entry.getValue().getFullyQualifiedName());
        addFieldToDocument(document, FIELD_PARENT_IDENTIFIER,
                getHandleIdentifier(entry.getValue().getJavaParent()));
    }
    if (element.getResource() != null) {
        addFieldToDocument(document, FIELD_RESOURCE_PATH,
                element.getResource().getFullPath().toPortableString());
    }
    return document;
}

From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.search.LuceneDocumentFactory.java

License:Open Source License

/**
 * Initialize a base Lucene Document for the given JAX-RS element.
 * //  w w  w  .  j  a  v a 2 s  . c  o m
 * @param element
 * @return a base document, to be completed with specific fields within the
 *         calling method.
 */
private static Document createBaseDocument(final JaxrsJavaElement<?> element) {
    final Document document = new Document();
    addFieldToDocument(document, FIELD_JAVA_PROJECT_IDENTIFIER,
            getHandleIdentifier(element.getMetamodel().getJavaProject()));
    addFieldToDocument(document, FIELD_TYPE, element.getElementKind().getCategory().toString());
    addFieldToDocument(document, FIELD_IDENTIFIER, getIdentifierValue(element));
    if (element.getJavaElement() != null) {
        addFieldToDocument(document, FIELD_JAVA_ELEMENT, Boolean.TRUE.toString());
        addFieldToDocument(document, FIELD_COMPILATION_UNIT_IDENTIFIER,
                getHandleIdentifier(element.getJavaElement().getAncestor(IJavaElement.COMPILATION_UNIT)));
        addFieldToDocument(document, FIELD_PACKAGE_FRAGMENT_ROOT_IDENTIFIER,
                getHandleIdentifier(element.getJavaElement().getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT)));
        if (element.getJavaElement().getElementType() == IJavaElement.TYPE) {
            addFieldToDocument(document, FIELD_JAVA_CLASS_NAME,
                    ((IType) element.getJavaElement()).getFullyQualifiedName());
            // only applies to JAX-RS element associated with an IType or IAnnotation (not IMethod nor IField)
            if (element.getResource() != null) {
                addFieldToDocument(document, FIELD_RESOURCE_PATH,
                        element.getResource().getFullPath().toPortableString());
            }
        }
    }
    for (Entry<String, Annotation> entry : element.getAnnotations().entrySet()) {
        addFieldToDocument(document, FIELD_ANNOTATION_NAME, entry.getValue().getFullyQualifiedName());
        addFieldToDocument(document, FIELD_PARENT_IDENTIFIER,
                getHandleIdentifier(entry.getValue().getJavaParent()));
    }
    return document;
}