public final TypeName annotated(AnnotationSpec... annotations) { return annotated(Arrays.asList(annotations)); }
public final TypeName annotated(AnnotationSpec... annotations) { return annotated(Arrays.asList(annotations)); }
public final TypeName annotated(AnnotationSpec... annotations) { return annotated(Arrays.asList(annotations)); }
private static TypeName applyAnnotations(TypeName typeName, VariableElement param) { List<? extends AnnotationMirror> annotationMirrors = param.getAnnotationMirrors(); if (annotationMirrors.size() > 0) { List<AnnotationSpec> annotationSpecs = new ArrayList<>(annotationMirrors.size()); for (AnnotationMirror annotationMirror : annotationMirrors) { annotationSpecs.add(AnnotationSpec.get(annotationMirror)); } typeName = typeName.annotated(annotationSpecs); } return typeName; }
private static TypeName getTypeNameForElement(ExecutableElement element) { TypeName returnTypeName; if (typeHasAdapter(element)) { TypeMirror typeAdapterClass = getTypeAdapterClass(element .getAnnotation(FirebaseAdapter.class)); TypeElement typeAdapterTypeElement = (TypeElement) typeUtils.asElement(typeAdapterClass); List<? extends TypeMirror> interfaces = typeAdapterTypeElement.getInterfaces(); DeclaredType typeAdapterDeclaredType = (DeclaredType) interfaces.get(0); List<? extends TypeMirror> typeArguments = typeAdapterDeclaredType.getTypeArguments(); returnTypeName = TypeName.get(element.getReturnType()); returnTypeName = returnTypeName.annotated(AnnotationSpec.builder(FirebaseAdapter.class) .addMember("value", "$T", TypeName.get(typeAdapterClass)) .addMember("input", "$T", TypeName.get(typeArguments.get(0))) .addMember("output", "$T", TypeName.get(typeArguments.get(1))) .build()); } else { returnTypeName = TypeName.get(element.getReturnType()); } return returnTypeName; }
private void addConstructorAndProviderFields( TypeSpec.Builder factory, FactoryDescriptor descriptor) { MethodSpec.Builder constructor = constructorBuilder().addAnnotation(Inject.class); if (descriptor.publicType()) { constructor.addModifiers(PUBLIC); } Iterator<ProviderField> providerFields = descriptor.providers().values().iterator(); for (int argumentIndex = 1; providerFields.hasNext(); argumentIndex++) { ProviderField provider = providerFields.next(); TypeName typeName = TypeName.get(provider.key().type()).box(); TypeName providerType = ParameterizedTypeName.get(ClassName.get(Provider.class), typeName); factory.addField(providerType, provider.name(), PRIVATE, FINAL); if (provider.key().qualifier().isPresent()) { // only qualify the constructor parameter providerType = providerType.annotated(AnnotationSpec.get(provider.key().qualifier().get())); } constructor.addParameter(providerType, provider.name()); constructor.addStatement("this.$1L = checkNotNull($1L, $2L)", provider.name(), argumentIndex); } factory.addMethod(constructor.build()); }
.annotated(AnnotationSpec.builder(com.google.inject.name.Named.class).addMember("value", "$S", "registeredHandlerWrappers").build());