Java Code Examples for com.squareup.javapoet.AnnotationSpec#builder()
The following examples show how to use
com.squareup.javapoet.AnnotationSpec#builder() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: JRepeatableCodeGenerator.java From jackdaw with Apache License 2.0 | 6 votes |
private AnnotationSpec createAnnotation(final AnnotationMirror annotation) { final AnnotationSpec.Builder annotationBuilder = AnnotationSpec.builder( ClassName.get((TypeElement) annotation.getAnnotationType().asElement()) ); final Map<? extends ExecutableElement, ? extends AnnotationValue> params = annotation.getElementValues(); for (Map.Entry<? extends ExecutableElement, ? extends AnnotationValue> entry : params.entrySet()) { final ExecutableElement paramMethod = entry.getKey(); final String methodName = TypeUtils.getName(paramMethod); final AnnotationValue annotationValue = entry.getValue(); final Object value = annotationValue.getValue(); final Pair<String, Object> format = calculateValue(value); annotationBuilder.addMember(methodName, format.getKey(), format.getValue()); } return annotationBuilder.build(); }
Example 2
Source File: CodeGeneration.java From requery with Apache License 2.0 | 6 votes |
static void addGeneratedAnnotation(ProcessingEnvironment processingEnvironment, TypeSpec.Builder builder) { Elements elements = processingEnvironment.getElementUtils(); SourceVersion sourceVersion = processingEnvironment.getSourceVersion(); AnnotationSpec.Builder annotationBuilder = null; if (sourceVersion.compareTo(SourceVersion.RELEASE_8) > 0) { ClassName name = ClassName.bestGuess("javax.annotation.processing.Generated"); annotationBuilder = AnnotationSpec.builder(name); } else { if (elements.getTypeElement(Generated.class.getCanonicalName()) != null) { annotationBuilder = AnnotationSpec.builder(Generated.class); } } if (annotationBuilder != null) { builder.addAnnotation(annotationBuilder .addMember("value", "$S", EntityProcessor.class.getCanonicalName()).build()); } }
Example 3
Source File: PsiMethodExtractorUtils.java From litho with Apache License 2.0 | 6 votes |
private static List<AnnotationSpec> getExternalAnnotations(PsiParameter param) { PsiAnnotation[] annotationsOnParam = AnnotationUtil.getAllAnnotations(param, false, null); final List<AnnotationSpec> annotations = new ArrayList<>(); for (PsiAnnotation annotationOnParam : annotationsOnParam) { if (annotationOnParam.getQualifiedName().startsWith(COMPONENTS_PACKAGE)) { continue; } final AnnotationSpec.Builder annotationSpec = AnnotationSpec.builder(PsiTypeUtils.guessClassName(annotationOnParam.getQualifiedName())); PsiNameValuePair[] paramAttributes = annotationOnParam.getParameterList().getAttributes(); for (PsiNameValuePair attribute : paramAttributes) { annotationSpec.addMember(attribute.getName(), attribute.getDetachedValue().getText()); } annotations.add(annotationSpec.build()); } return annotations; }
Example 4
Source File: MethodExtractorUtils.java From litho with Apache License 2.0 | 6 votes |
private static List<AnnotationSpec> getExternalAnnotations(VariableElement param) { final List<? extends AnnotationMirror> annotationMirrors = param.getAnnotationMirrors(); final List<AnnotationSpec> annotations = new ArrayList<>(); for (AnnotationMirror annotationMirror : annotationMirrors) { if (annotationMirror.getAnnotationType().toString().startsWith(COMPONENTS_PACKAGE)) { continue; } final AnnotationSpec.Builder annotationSpec = AnnotationSpec.builder( ClassName.bestGuess(annotationMirror.getAnnotationType().toString())); Map<? extends ExecutableElement, ? extends AnnotationValue> elementValues = annotationMirror.getElementValues(); for (Map.Entry<? extends ExecutableElement, ? extends AnnotationValue> elementValue : elementValues.entrySet()) { annotationSpec.addMember( elementValue.getKey().getSimpleName().toString(), elementValue.getValue().toString()); } annotations.add(annotationSpec.build()); } return annotations; }
Example 5
Source File: JavaClassGenerator.java From web3j with Apache License 2.0 | 6 votes |
@Override public void writeClass() throws IOException { ClassName EVM_ANNOTATION = ClassName.get("org.web3j", "EVMTest"); AnnotationSpec.Builder annotationSpec = AnnotationSpec.builder(EVM_ANNOTATION); if (JavaVersion.getJavaVersionAsDouble() < 11) { ClassName GethContainer = ClassName.get("org.web3j", "NodeType"); annotationSpec.addMember("value", "type = $T.GETH", GethContainer); } TypeSpec testClass = TypeSpec.classBuilder(theContract.getSimpleName() + "Test") .addMethods(MethodFilter.generateMethodSpecsForEachTest(theContract)) .addAnnotation((annotationSpec).build()) .addField( theContract, toCamelCase(theContract), Modifier.PRIVATE, Modifier.STATIC) .build(); JavaFile javaFile = JavaFile.builder(packageName, testClass).build(); javaFile.writeTo(new File(writePath)); }
Example 6
Source File: JavadocProcessor.java From drift with Apache License 2.0 | 5 votes |
private static AnnotationSpec documentationAnnotation(List<String> lines) { AnnotationSpec.Builder builder = AnnotationSpec.builder(ThriftDocumentation.class); for (String line : lines) { builder.addMember("value", "$S", line); } return builder.build(); }
Example 7
Source File: AnnotationSpecUtil.java From kaif-android with Apache License 2.0 | 5 votes |
public static AnnotationSpec generate(AnnotationMirror annotation) { TypeElement element = (TypeElement) annotation.getAnnotationType().asElement(); AnnotationSpec.Builder builder = AnnotationSpec.builder(ClassName.get(element)); Visitor visitor = new Visitor(builder); for (ExecutableElement executableElement : annotation.getElementValues().keySet()) { String name = executableElement.getSimpleName().toString(); AnnotationValue value = annotation.getElementValues().get(executableElement); value.accept(visitor, new Entry(name, value)); } return builder.build(); }
Example 8
Source File: TransformationTemplateIntegrationTest.java From Akatsuki with Apache License 2.0 | 5 votes |
protected AnnotationSpec createTransformationTemplate(Bound bound, Class<?> staticClass, Class<?>... constraints) { final String objectFqcn = staticClass.getCanonicalName(); AnnotationSpec save = AnnotationSpec .builder(StatementTemplate.class).addMember("value", "\"{{bundle}}.putString({{keyName}}, $L.wrap({{fieldName}}))\"", objectFqcn) .build(); AnnotationSpec restore = AnnotationSpec.builder(StatementTemplate.class) .addMember("type", "$T.$L", StatementTemplate.Type.class, StatementTemplate.Type.ASSIGNMENT) .addMember("value", "\"$L.unwrap({{bundle}}.getString({{keyName}}))\"", objectFqcn) .addMember("variable", "\"{{fieldName}}\"").build(); final AnnotationSpec.Builder annotationSpec = AnnotationSpec .builder(TransformationTemplate.class).addMember("save", "$L", save) .addMember("restore", "$L", restore) .addMember("execution", "$T.$L", Execution.class, Execution.BEFORE); for (Class<?> constraint : constraints) { final AnnotationSpec constraintsSpec = AnnotationSpec.builder(TypeConstraint.class) .addMember("type", "$T.class", constraint) .addMember("bound", "$T.$L", Bound.class, bound).build(); AnnotationSpec.Builder filterSpec = AnnotationSpec.builder(TypeFilter.class); filterSpec.addMember("type", "$L", constraintsSpec); annotationSpec.addMember("filters", "$L", filterSpec.build()); } return annotationSpec.build(); }
Example 9
Source File: ArgTestField.java From Akatsuki with Apache License 2.0 | 5 votes |
@Override protected Builder fieldSpecBuilder() { final Builder builder = super.fieldSpecBuilder(); final AnnotationSpec.Builder annotationBuilder = AnnotationSpec.builder(Arg.class); if (skip) { annotationBuilder.addMember("skip", "$L", true); } if (optional) { annotationBuilder.addMember("optional", "$L", true); } builder.addAnnotation(annotationBuilder.build()); return builder; }
Example 10
Source File: RetainedTestField.java From Akatsuki with Apache License 2.0 | 5 votes |
@Override protected Builder fieldSpecBuilder() { final Builder builder = super.fieldSpecBuilder(); final AnnotationSpec.Builder annotationBuilder = AnnotationSpec.builder(Retained.class); if (skip) { annotationBuilder.addMember("skip", "$L", true); } if (policy != null) { annotationBuilder.addMember("restorePolicy", "$T.$L", RestorePolicy.class, policy); } builder.addAnnotation(annotationBuilder.build()); return builder; }
Example 11
Source File: ResourceMethodExtensionPlugin.java From raml-module-builder with Apache License 2.0 | 5 votes |
private AnnotationSpec buildAnnotation(Class<?> annotationClass, Object value, String type){ AnnotationSpec.Builder annoBuilder = AnnotationSpec.builder(annotationClass); if(type.equalsIgnoreCase("Size")){ //size can contain two values (min and max) so it is unlike the other potential annotations String []multipleAnnos = ((String)value).split(","); for (int j = 0; j < multipleAnnos.length; j++) { if(j == 0){ annoBuilder.addMember("min", "$L", Integer.valueOf(multipleAnnos[j].trim())); } else{ annoBuilder.addMember("max", "$L", Integer.valueOf(multipleAnnos[j].trim())); } } } else if(!type.equalsIgnoreCase("REQUIRED")){ //a required annotation will add a @notnull annotation //THERE IS CURRENTLY NO SUPPORT TO MAKE A REQUIRED PARAM NOT REQUIRED if(value instanceof String){ if(type.equalsIgnoreCase("PATTERN")){ annoBuilder.addMember("regexp", "$S", (String)value); } else{ annoBuilder.addMember(ANNOTATION_VALUE, "$S", (String)value); } } else if(value instanceof Boolean){ annoBuilder.addMember(ANNOTATION_VALUE, "$L", (Boolean)value); } else if(value instanceof Integer){ annoBuilder.addMember(ANNOTATION_VALUE, "$L", (Integer)value); } } return annoBuilder.build(); }
Example 12
Source File: ValueParser.java From dataenum with Apache License 2.0 | 5 votes |
private static Iterable<AnnotationSpec> parseMethodAnnotations( ExecutableElement methodElement, Messager messager) { ArrayList<AnnotationSpec> annotations = new ArrayList<>(); for (AnnotationMirror annotationMirror : methodElement.getAnnotationMirrors()) { TypeName annotationTypeName = ClassName.get(annotationMirror.getAnnotationType().asElement().asType()); if (!(annotationTypeName instanceof ClassName)) { messager.printMessage( Kind.ERROR, "Annotation is not a class; this shouldn't happen", methodElement, annotationMirror); continue; } Builder builder = AnnotationSpec.builder(((ClassName) annotationTypeName)); for (Entry<? extends ExecutableElement, ? extends AnnotationValue> entry : annotationMirror.getElementValues().entrySet()) { builder.addMember(entry.getKey().getSimpleName().toString(), entry.getValue().toString()); } annotations.add(builder.build()); } return annotations; }
Example 13
Source File: OpenApiClientGenerator.java From spring-openapi with MIT License | 5 votes |
private FieldSpec.Builder getStringBasedSchemaField(String fieldName, Schema innerSchema, TypeSpec.Builder typeSpecBuilder) { if (innerSchema.getFormat() == null) { ClassName stringClassName = ClassName.get(JAVA_LANG_PKG, "String"); FieldSpec.Builder fieldBuilder = FieldSpec.builder(stringClassName, fieldName, Modifier.PRIVATE); if (innerSchema.getPattern() != null) { fieldBuilder.addAnnotation(AnnotationSpec.builder(Pattern.class) .addMember("regexp", "$S", innerSchema.getPattern()) .build() ); } if (innerSchema.getMinLength() != null || innerSchema.getMaxLength() != null) { AnnotationSpec.Builder sizeAnnotationBuilder = AnnotationSpec.builder(Size.class); if (innerSchema.getMinLength() != null) { sizeAnnotationBuilder.addMember("min", "$L", innerSchema.getMinLength()); } if (innerSchema.getMaxLength() != null) { sizeAnnotationBuilder.addMember("max", "$L", innerSchema.getMaxLength()); } fieldBuilder.addAnnotation(sizeAnnotationBuilder.build()); } enrichWithGetSet(typeSpecBuilder, stringClassName, fieldName); return fieldBuilder; } else if (equalsIgnoreCase(innerSchema.getFormat(), "date")) { ClassName localDateClassName = ClassName.get(JAVA_TIME_PKG, "LocalDate"); enrichWithGetSet(typeSpecBuilder, localDateClassName, fieldName); return FieldSpec.builder(localDateClassName, fieldName, Modifier.PRIVATE); } else if (equalsIgnoreCase(innerSchema.getFormat(), "date-time")) { ClassName localDateTimeClassName = ClassName.get(JAVA_TIME_PKG, "LocalDateTime"); enrichWithGetSet(typeSpecBuilder, localDateTimeClassName, fieldName); return FieldSpec.builder(localDateTimeClassName, fieldName, Modifier.PRIVATE); } throw new IllegalArgumentException(String.format("Error parsing string based property [%s]", fieldName)); }
Example 14
Source File: SimpleProcessorTests.java From spring-init with Apache License 2.0 | 5 votes |
private static TypeSpec.Builder importAnnotation(TypeSpec.Builder type, String... fullyQualifiedImports) { ClassName[] array = new ClassName[fullyQualifiedImports.length]; for (int i = 0; i < fullyQualifiedImports.length; i++) { array[i] = ClassName.bestGuess(fullyQualifiedImports[i]); } AnnotationSpec.Builder builder = AnnotationSpec.builder(IMPORT); builder.addMember("value", array.length > 1 ? ("{" + typeParams(array.length) + "}") : "$T.class", (Object[]) array); return type.addAnnotation(builder.build()); }
Example 15
Source File: InterfaceMetaInfo.java From raptor with Apache License 2.0 | 5 votes |
public AnnotationSpec generateInterfaceSpec() { AnnotationSpec.Builder builder = AnnotationSpec.builder(RaptorInterface.class); OptionUtil.setAnnotationMember(builder, "appId", "$S", protoFileMetaInfo.getAppId()); OptionUtil.setAnnotationMember(builder, "appName", "$S", protoFileMetaInfo.getAppName()); OptionUtil.setAnnotationMember(builder, "version", "$S", protoFileMetaInfo.getVersion()); OptionUtil.setAnnotationMember(builder, "protoFile", "$S", protoFileMetaInfo.getProtoFile()); OptionUtil.setAnnotationMember(builder, "crc32", "$S", protoFileMetaInfo.getCrc32()); // TODO: 2018/5/16 先写死spring OptionUtil.setAnnotationMember(builder, "library", "$S", "spring"); return builder.build(); }
Example 16
Source File: MessageMetaInfo.java From raptor with Apache License 2.0 | 5 votes |
public AnnotationSpec generateMessageSpec() { AnnotationSpec.Builder builder = AnnotationSpec.builder(RaptorMessage.class); OptionUtil.setAnnotationMember(builder, "version", "$S", protoFileMetaInfo.getVersion()); OptionUtil.setAnnotationMember(builder, "protoFile", "$S", protoFileMetaInfo.getProtoFile()); OptionUtil.setAnnotationMember(builder, "crc32", "$S", protoFileMetaInfo.getCrc32()); return builder.build(); }
Example 17
Source File: JacksonDiscriminatorInheritanceTypeExtension.java From raml-java-tools with Apache License 2.0 | 4 votes |
@Override public TypeSpec.Builder classCreated(ObjectPluginContext objectPluginContext, ObjectTypeDeclaration ramlType, TypeSpec.Builder typeSpec, EventType eventType) { if ( eventType == EventType.IMPLEMENTATION) { return typeSpec; } ObjectTypeDeclaration otr = ramlType; if (otr.discriminator() != null && objectPluginContext.childClasses(otr.name()).size() > 0) { typeSpec.addAnnotation(AnnotationSpec.builder(JsonTypeInfo.class) .addMember("use", "$T.Id.NAME", JsonTypeInfo.class) .addMember("include", "$T.As.EXISTING_PROPERTY", JsonTypeInfo.class) .addMember("property", "$S", otr.discriminator()).build()); AnnotationSpec.Builder subTypes = AnnotationSpec.builder(JsonSubTypes.class); for (CreationResult result : objectPluginContext.childClasses(ramlType.name())) { subTypes.addMember( "value", "$L", AnnotationSpec .builder(JsonSubTypes.Type.class) .addMember("value", "$L", result.getJavaName(EventType.INTERFACE) + ".class").build()); } subTypes.addMember( "value", "$L", AnnotationSpec .builder(JsonSubTypes.Type.class) .addMember("value", "$L", objectPluginContext.creationResult().getJavaName(EventType.INTERFACE) + ".class").build()); typeSpec.addAnnotation(subTypes.build()); } if (otr.discriminatorValue() != null) { typeSpec.addAnnotation(AnnotationSpec.builder(JsonTypeName.class) .addMember("value", "$S", otr.discriminatorValue()).build()); } if (!Annotations.ABSTRACT.get(otr)) { typeSpec.addAnnotation(AnnotationSpec.builder(JsonDeserialize.class) .addMember("as", "$T.class", objectPluginContext.creationResult().getJavaName(EventType.IMPLEMENTATION)) .build()); } return typeSpec; }
Example 18
Source File: JacksonDiscriminatorInheritanceTypeExtension.java From raml-java-tools with Apache License 2.0 | 4 votes |
@Override public TypeSpec.Builder classCreated(ObjectPluginContext objectPluginContext, ObjectTypeDeclaration ramlType, TypeSpec.Builder typeSpec, EventType eventType) { if ( eventType == EventType.IMPLEMENTATION) { return typeSpec; } ObjectTypeDeclaration otr = ramlType; if (otr.discriminator() != null && objectPluginContext.childClasses(otr.name()).size() > 0) { typeSpec.addAnnotation(AnnotationSpec.builder(JsonTypeInfo.class) .addMember("use", "$T.Id.NAME", JsonTypeInfo.class) .addMember("include", "$T.As.EXISTING_PROPERTY", JsonTypeInfo.class) .addMember("property", "$S", otr.discriminator()).build()); AnnotationSpec.Builder subTypes = AnnotationSpec.builder(JsonSubTypes.class); for (CreationResult result : objectPluginContext.childClasses(ramlType.name())) { subTypes.addMember( "value", "$L", AnnotationSpec .builder(JsonSubTypes.Type.class) .addMember("value", "$L", result.getJavaName(EventType.INTERFACE) + ".class").build()); } subTypes.addMember( "value", "$L", AnnotationSpec .builder(JsonSubTypes.Type.class) .addMember("value", "$L", objectPluginContext.creationResult().getJavaName(EventType.INTERFACE) + ".class").build()); typeSpec.addAnnotation(subTypes.build()); } if (otr.discriminatorValue() != null) { typeSpec.addAnnotation(AnnotationSpec.builder(JsonTypeName.class) .addMember("value", "$S", otr.discriminatorValue()).build()); } if (!Annotations.ABSTRACT.get(otr)) { typeSpec.addAnnotation(AnnotationSpec.builder(JsonDeserialize.class) .addMember("as", "$T.class", objectPluginContext.creationResult().getJavaName(EventType.IMPLEMENTATION)) .build()); } return typeSpec; }
Example 19
Source File: InterfaceMetaInfo.java From raptor with Apache License 2.0 | 4 votes |
public AnnotationSpec generateRequestMappingSpec() { AnnotationSpec.Builder builder = AnnotationSpec.builder(RequestMapping.class); OptionUtil.setAnnotationMember(builder, "path", "$S", servicePath); return builder.build(); }
Example 20
Source File: MethodMetaInfo.java From raptor with Apache License 2.0 | 4 votes |
public AnnotationSpec generateRaptorMethod() { AnnotationSpec.Builder builder = AnnotationSpec.builder(RaptorMethod.class); return builder.build(); }