List of usage examples for javax.lang.model.element TypeElement getQualifiedName
Name getQualifiedName();
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; }