Example usage for javax.lang.model.element TypeElement getQualifiedName

List of usage examples for javax.lang.model.element TypeElement getQualifiedName

Introduction

In this page you can find the example usage for javax.lang.model.element TypeElement getQualifiedName.

Prototype

Name getQualifiedName();

Source Link

Document

Returns the fully qualified name of this type element.

Usage

From source file:Main.java

public static String getPackageName(TypeElement classDecl) {
    String fullName = classDecl.getQualifiedName().toString();
    int pos = fullName.lastIndexOf('.');
    if (pos == -1)
        return null;
    return fullName.substring(0, pos);
}

From source file:info.archinnov.achilles.internals.parser.validator.BeanValidator.java

public static void validateIsAConcreteNonFinalClass(AptUtils aptUtils, TypeElement typeElement) {
    final Name name = typeElement.getQualifiedName();
    aptUtils.validateTrue(typeElement.getKind() == ElementKind.CLASS, "Bean type '%s' should be a class", name);
    final Set<Modifier> modifiers = typeElement.getModifiers();
    aptUtils.validateFalse(modifiers.contains(Modifier.ABSTRACT), "Bean type '%s' should not be abstract",
            name);/*from  w  w w  .ja v a2 s.c o m*/
    aptUtils.validateFalse(modifiers.contains(Modifier.FINAL), "Bean type '%s' should not be final", name);
}

From source file:auto.parse.processor.AutoParseProcessor.java

private static String classNameOf(TypeElement type) {
    String name = type.getQualifiedName().toString();
    String pkgName = TypeSimplifier.packageNameOf(type);
    if (!pkgName.isEmpty()) {
        return name.substring(pkgName.length() + 1);
    } else {/*from ww  w .  j  av a  2 s.  com*/
        return name;
    }
}

From source file:pt.ist.vaadinframework.annotation.EmbeddedAnnotationProcessor.java

@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {

    final Set<String> actions = new HashSet<String>();

    final File file = new File(LOG_FILENAME);
    if (file.exists()) {
        try {//from   ww w.ja  v  a2  s. c om
            final String contents = FileUtils.readFileToString(file);
            for (final String line : contents.split(ENTRY_SEPERATOR)) {
                actions.add(line);
            }
        } catch (final IOException e) {
            e.printStackTrace();
        }
    }

    final Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(EmbeddedComponent.class);
    for (final Element element : elements) {
        if (element instanceof TypeElement) {
            final TypeElement typeElement = (TypeElement) element;
            actions.add(typeElement.getQualifiedName().toString());
        } else {
            System.out.println("Skipping processing of element: " + element.getClass().getName()
                    + ", this type was not expected!");
        }
    }

    FileWriter fileWriter = null;
    try {
        fileWriter = new FileWriter(LOG_FILENAME, false);
        for (final String action : actions) {
            fileWriter.append(action);
            fileWriter.write(ENTRY_SEPERATOR);
        }
    } catch (final IOException e) {
        e.printStackTrace();
    } finally {
        if (fileWriter != null) {
            try {
                fileWriter.close();
            } catch (final IOException e) {
                e.printStackTrace();
            }
        }
    }

    return true;
}

From source file:blue.lapis.pore.ap.event.EventVerifierProcessor.java

private void verifyPackage(TypeElement type) {
    if (!type.getQualifiedName().toString().startsWith(PORE_PACKAGE)) {
        processingEnv.getMessager().printMessage(SEVERITY,
                "Annotated event is not in pore package " + PORE_PACKAGE, type);
    }//from   ww w.j a  v  a2  s  . com
}

From source file:ch.rasc.constgen.ConstAnnotationProcessor.java

@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {

    this.processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE,
            "Running " + getClass().getSimpleName());

    if (roundEnv.processingOver() || annotations.size() == 0) {
        return ALLOW_OTHER_PROCESSORS_TO_CLAIM_ANNOTATIONS;
    }//from   w  w  w. j  a v a  2  s .  com

    if (roundEnv.getRootElements() == null || roundEnv.getRootElements().isEmpty()) {
        this.processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, "No sources to process");
        return ALLOW_OTHER_PROCESSORS_TO_CLAIM_ANNOTATIONS;
    }

    for (TypeElement annotation : annotations) {
        Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(annotation);
        boolean bsoncodecProject = annotation.getQualifiedName()
                .contentEquals("ch.rasc.bsoncodec.annotation.BsonDocument");
        for (Element element : elements) {

            try {
                TypeElement typeElement = (TypeElement) element;

                CodeGenerator codeGen = new CodeGenerator(typeElement, this.processingEnv.getElementUtils(),
                        bsoncodecProject);

                JavaFileObject jfo = this.processingEnv.getFiler()
                        .createSourceFile(codeGen.getPackageName() + "." + codeGen.getClassName());
                try (Writer writer = jfo.openWriter()) {
                    codeGen.generate(writer);
                }

            } catch (Exception e) {
                this.processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, e.getMessage());
            }

        }
    }

    return ALLOW_OTHER_PROCESSORS_TO_CLAIM_ANNOTATIONS;
}

From source file:org.mule.module.extension.internal.capability.xml.schema.SchemaDocumenter.java

private void documentConfigurationParameters(Collection<ParameterDeclaration> parameters,
        final TypeElement element) {
    final Map<String, VariableElement> variableElements = getFieldsAnnotatedWith(element, Parameter.class);
    TypeElement traversingElement = element;
    while (traversingElement != null
            && !Object.class.getName().equals(traversingElement.getQualifiedName().toString())) {
        Class<?> declaringClass = AnnotationProcessorUtils.classFor(traversingElement, processingEnv);
        for (ParameterDeclaration parameter : parameters) {
            Field field = IntrospectionUtils.getField(declaringClass, parameter);
            if (field != null && variableElements.containsKey(field.getName())) {
                parameter.setDescription(
                        getJavaDocSummary(processingEnv, variableElements.get(field.getName())));
            }// ww  w .j  a v a 2s  .c  om
        }

        traversingElement = (TypeElement) processingEnv.getTypeUtils()
                .asElement(traversingElement.getSuperclass());
    }

    for (VariableElement variableElement : getFieldsAnnotatedWith(element, ParameterGroup.class).values()) {
        TypeElement typeElement = (TypeElement) processingEnv.getTypeUtils()
                .asElement(variableElement.asType());
        documentConfigurationParameters(parameters, typeElement);
    }
}

From source file:com.googlecode.androidannotations.processing.rest.RestProcessor.java

@Override
public void process(Element element, JCodeModel codeModel, EBeansHolder activitiesHolder) throws Exception {

    RestImplementationHolder holder = restImplementationHolder.create(element);

    TypeElement typeElement = (TypeElement) element;

    holder.urlPrefix = typeElement.getAnnotation(Rest.class).value();

    String interfaceName = typeElement.getQualifiedName().toString();

    String implementationName = interfaceName + ModelConstants.GENERATION_SUFFIX;

    // holder.restImplementationClass = codeModel._class(JMod.PUBLIC |
    // JMod.ABSTRACT, implementationName, ClassType.CLASS);
    holder.restImplementationClass = codeModel._class(JMod.PUBLIC, implementationName, ClassType.CLASS);
    JClass interfaceClass = holder.refClass(interfaceName);
    holder.restImplementationClass._implements(interfaceClass);

    // RestTemplate field
    JClass restTemplateClass = holder.refClass(SPRING_REST_TEMPLATE_QUALIFIED_NAME);
    holder.restTemplateField = holder.restImplementationClass.field(JMod.PRIVATE, restTemplateClass,
            "restTemplate");

    // Default constructor
    JMethod defaultConstructor = holder.restImplementationClass.constructor(JMod.PUBLIC);
    defaultConstructor.body().assign(holder.restTemplateField, JExpr._new(restTemplateClass));

    // RestTemplate constructor
    JMethod restTemplateConstructor = holder.restImplementationClass.constructor(JMod.PUBLIC);
    JVar restTemplateParam = restTemplateConstructor.param(restTemplateClass, "restTemplate");
    restTemplateConstructor.body().assign(JExpr._this().ref(holder.restTemplateField), restTemplateParam);

    // RequestFactory constructor
    JMethod requestFactoryConstructor = holder.restImplementationClass.constructor(JMod.PUBLIC);
    JClass requestFactoryClass = holder.refClass("org.springframework.http.client.ClientHttpRequestFactory");
    JVar requestFactoryParam = requestFactoryConstructor.param(requestFactoryClass, "requestFactory");
    requestFactoryConstructor.body().assign(holder.restTemplateField,
            JExpr._new(restTemplateClass).arg(requestFactoryParam));

    // Implement getRestTemplate method
    List<? extends Element> enclosedElements = typeElement.getEnclosedElements();
    List<ExecutableElement> methods = ElementFilter.methodsIn(enclosedElements);
    for (ExecutableElement method : methods) {
        if (method.getParameters().size() == 0
                && method.getReturnType().toString().equals(SPRING_REST_TEMPLATE_QUALIFIED_NAME)) {
            String methodName = method.getSimpleName().toString();
            JMethod getRestTemplateMethod = holder.restImplementationClass.method(JMod.PUBLIC,
                    restTemplateClass, methodName);
            getRestTemplateMethod.annotate(Override.class);
            getRestTemplateMethod.body()._return(holder.restTemplateField);
            break; // Only one implementation
        }//www  .  jav a  2s .  com
    }

    for (ExecutableElement method : methods) {
        List<? extends VariableElement> parameters = method.getParameters();
        if (parameters.size() == 1 && method.getReturnType().getKind() == TypeKind.VOID) {
            VariableElement firstParameter = parameters.get(0);
            if (firstParameter.asType().toString().equals(SPRING_REST_TEMPLATE_QUALIFIED_NAME)) {
                String methodName = method.getSimpleName().toString();
                JMethod setRestTemplateMethod = holder.restImplementationClass.method(JMod.PUBLIC,
                        codeModel.VOID, methodName);
                setRestTemplateMethod.annotate(Override.class);

                JVar restTemplateSetterParam = setRestTemplateMethod.param(restTemplateClass,
                        firstParameter.getSimpleName().toString());

                setRestTemplateMethod.body().assign(_this().ref(holder.restTemplateField),
                        restTemplateSetterParam);
                break; // Only one implementation
            }
        }
    }

}

From source file:uniol.apt.compiler.AbstractServiceProcessor.java

@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
    if (this.finished) // only run in the first round
        return false;

    for (Element ele : roundEnv.getElementsAnnotatedWith(this.annotationClass)) {
        if (!isValidClass(ele)) {
            return false;
        }/*from ww  w  . ja  v  a 2  s  .  c om*/
        TypeElement classEle = (TypeElement) ele;
        String className = classEle.getQualifiedName().toString();
        visitClass(classEle, className);
    }

    produceOutput();

    this.finished = true; // prevent running in subsequent rounds

    return true;
}

From source file:io.github.jeddict.jcode.util.JavaSourceHelper.java

public static JavaSource forTypeElement(TypeElement typeElement, Project project) throws IOException {
    for (JavaSource js : getJavaSources(project)) {
        String className = getClassType(js);
        if (typeElement.getQualifiedName().contentEquals(className)) {
            return js;
        }/*from  w ww  . j av a  2  s  .  com*/
    }
    return null;
}