Example usage for javax.lang.model.element ElementKind PACKAGE

List of usage examples for javax.lang.model.element ElementKind PACKAGE

Introduction

In this page you can find the example usage for javax.lang.model.element ElementKind PACKAGE.

Prototype

ElementKind PACKAGE

To view the source code for javax.lang.model.element ElementKind PACKAGE.

Click Source Link

Document

A package.

Usage

From source file:Main.java

/**
 * get package name from class {@code type}
 * @param type The element of class/*w  w  w.ja  v a 2s  .c  o m*/
 * @return package name
 */
public static String getPackageName(TypeElement type) {
    if (type == null || type.getSimpleName().toString().length() == 0) {
        return "";
    }
    Element parent = type.getEnclosingElement();
    if (parent.getKind() == ElementKind.PACKAGE) {
        return ((PackageElement) parent).getQualifiedName().toString();
    }
    return getPackageName((TypeElement) parent);
}

From source file:org.commonjava.vertx.vabr.anno.proc.AbstractTemplateInfo.java

protected AbstractTemplateInfo(final Element elem, final Handles handles, final int priority,
        final Method method, final String path, final String defPath, final String[] routeVersions,
        final boolean fork) {
    this.priority = priority;
    this.httpMethod = method;
    this.fork = fork;
    this.httpPath = AnnotationUtils.pathOf(handles, path, defPath);
    this.routePathFragment = isEmpty(path) ? defPath : path;
    this.handlerPathFragment = isEmpty(handles.prefix()) ? handles.value() : handles.prefix();

    // it only applies to methods...
    final ExecutableElement eelem = (ExecutableElement) elem;

    methodname = eelem.getSimpleName().toString();

    final TypeElement cls = (TypeElement) eelem.getEnclosingElement();

    Element parent = cls.getEnclosingElement();
    while (parent.getKind() != ElementKind.PACKAGE) {
        parent = parent.getEnclosingElement();
    }/*  w w  w  . java  2  s . com*/

    final PackageElement pkg = (PackageElement) parent;

    qualifiedClassname = cls.getQualifiedName().toString();

    classname = cls.getSimpleName().toString();

    packagename = pkg.getQualifiedName().toString();

    this.handlerKey = AnnotationUtils.getHandlerKey(handles, qualifiedClassname);

    this.versions = new ArrayList<>();
    if (routeVersions != null && routeVersions.length > 0) {
        for (final String rv : routeVersions) {
            this.versions.add(rv);
        }
    } else {
        final String[] handlerVersions = handles.versions();
        if (handlerVersions != null) {
            for (final String rv : handlerVersions) {
                this.versions.add(rv);
            }
        }
    }
}

From source file:org.shredzone.commons.taglib.processor.TaglibProcessor.java

/**
 * Processes a {@link TagInfo} annotation.
 *
 * @param element//from   w  w  w  . jav a  2 s .  c om
 *            Program element with that tag
 */
private void processTagInfo(Element element) {
    TagInfo tagAnno = element.getAnnotation(TagInfo.class);

    if (element.getKind().equals(ElementKind.PACKAGE)) {
        taglib.setInfo(tagAnno.value());
        return;
    }

    String className = element.toString();

    TagBean tag = taglib.getTagForClass(className);
    if (tag == null) {
        throw new ProcessorException("Missing @Tag on class: " + className);
    }

    tag.setInfo(tagAnno.value());
}

From source file:therian.buildweaver.StandardOperatorsProcessor.java

private static StringBuilder appendTo(StringBuilder buf, Element e) {
    final Element parent = e.getEnclosingElement();
    if (parent != null) {
        appendTo(buf, parent).append('.');
    }/*from  ww w.ja v a  2 s. c  om*/
    return buf.append(
            e.getKind() == ElementKind.PACKAGE ? ((PackageElement) e).getQualifiedName() : e.getSimpleName());
}

From source file:fr.xebia.extras.selma.codegen.MapperClassGenerator.java

public PackageElement getPackage(Element type) {
    while (type.getKind() != ElementKind.PACKAGE) {
        type = type.getEnclosingElement();
    }/*from  w  ww .jav a2s.  co  m*/
    return (PackageElement) type;
}

From source file:org.shredzone.commons.taglib.processor.TaglibProcessor.java

/**
 * Processes a {@link BeanFactoryReference} annotation.
 *
 * @param element//from   www .  j  a va  2 s  .c om
 *            Program element with that tag
 */
private void processBeanFactoryReference(Element element) {
    BeanFactoryReference tagAnno = element.getAnnotation(BeanFactoryReference.class);

    if (element.getKind().equals(ElementKind.PACKAGE)) {
        if (taglib.getBeanFactoryReference() != null) {
            throw new ProcessorException("Package @BeanFactoryReference already defined");
        }

        taglib.setBeanFactoryReference(tagAnno.value());
        return;
    }

    String className = element.toString();
    TagBean tag = taglib.getTagForClass(className);
    if (tag == null) {
        throw new ProcessorException("Missing @Tag on class: " + className);
    }

    tag.setBeanFactoryReference(tagAnno.value());
}

From source file:cop.raml.utils.ImportScanner.java

/**
 * Find out main class element in the java file. Given {@code element} can point to method or inner class. In each case, this method retrieves
 * only one class element (which has same name with java file).
 *
 * @param element some element/*w w w.ja va 2s  .  co m*/
 * @return class element
 */
private static Element getClassRootElement(Element element) {
    if (element == null)
        return null;

    Element prv = element;

    while (element != null && element.getKind() != ElementKind.PACKAGE) {
        prv = element;
        element = element.getEnclosingElement();

        if (element == null)
            prv = null;
    }

    return prv;
}

From source file:com.airbnb.deeplinkdispatch.DeepLinkProcessor.java

private static PackageElement getPackage(Element type) {
    while (type.getKind() != ElementKind.PACKAGE) {
        type = type.getEnclosingElement();
    }//from   w ww  .  j  ava 2s.  c  om
    return (PackageElement) type;
}