private void createConfigClass(@NonNull List<Element> elements) throws IOException { final TypeSpec.Builder classBuilder = TypeSpec.classBuilder(configName) .addSuperinterface(Serializable.class) .addSuperinterface(org.acra.config.Configuration.class) .addModifiers(Modifier.PUBLIC, Modifier.FINAL); Strings.addClassJavadoc(classBuilder, ClassName.get(baseAnnotation.asType())); final MethodSpec.Builder constructor = MethodSpec.constructorBuilder().addModifiers(Modifier.PUBLIC) .addParameter(ParameterSpec.builder(ClassName.get(PACKAGE, builderName), PARAM_0).addAnnotation(Types.NON_NULL).build()); elements.stream().filter(ConfigElement.class::isInstance).map(ConfigElement.class::cast).forEach(element -> element.addToConfig(classBuilder, constructor)); classBuilder.addMethod(constructor.build()); Strings.writeClass(processingEnv.getFiler(), classBuilder.build()); }
protected static List<ParameterSpec> buildParamSpecs(List<? extends VariableElement> params) { List<ParameterSpec> result = new ArrayList<>(); for (VariableElement param : params) { Builder builder = ParameterSpec.builder(TypeName.get(param.asType()), param.getSimpleName().toString()); for (AnnotationMirror annotation : param.getAnnotationMirrors()) { builder.addAnnotation(AnnotationSpec.get(annotation)); } result.add(builder.build()); } return result; }
public Builder addAnnotation(Class<?> annotation) { return addAnnotation(ClassName.get(annotation)); }
private ParameterSpec createConstructorParameter(final PropertyGenModel propertyGenModel) { final ParameterSpec.Builder builder = ParameterSpec.builder(propertyGenModel.getType(), propertyGenModel.getJavaIdentifier(), Modifier.FINAL); if (propertyGenModel.isOptional()) { builder.addAnnotation(Nullable.class); } final String jsonName = propertyGenModel.getJsonName(); if (jsonName != null) { builder.addAnnotation(createJsonPropertyAnnotation(jsonName)); } return builder.build(); }
private ParameterSpec createConstructorParameter(final PropertyGenModel propertyGenModel) { final ParameterSpec.Builder builder = ParameterSpec.builder(propertyGenModel.getType(), propertyGenModel.getJavaIdentifier(), Modifier.FINAL); if (propertyGenModel.isOptional()) { builder.addAnnotation(Nullable.class); } return builder.build(); }
private ParameterSpec createConstructorParameter(final PropertyGenModel propertyGenModel) { final ParameterSpec.Builder builder = ParameterSpec.builder(propertyGenModel.getType(), propertyGenModel.getJavaIdentifier(), Modifier.FINAL); if (propertyGenModel.isOptional()) { builder.addAnnotation(Nullable.class); } return builder.build(); }
private MethodSpec buildConstructorSpec() { return MethodSpec.constructorBuilder() .addModifiers(Modifier.PROTECTED) .addParameter(ParameterSpec.builder(SharedPreferences.class, "preferences") .addAnnotation(NonNull.class) .build() ) .addStatement("this.$L = $L", FIELD_EDITOR, "preferences.edit()") .build(); }
private static MethodSpec createInitMethod(ValidationClass validationClass) { ClassName className = ClassName.get(validationClass.packageName, validationClass.className); return MethodSpec.methodBuilder("init") .addModifiers(PUBLIC, STATIC) .addAnnotation(UI_THREAD) .addParameter(ParameterSpec .builder(validationClass.typeName, "target") .addAnnotation(NON_NULL) .build() ) .addStatement("new $T(target)", className) .build(); }
private ParameterSpec createConstructorParameter(final PropertyGenModel propertyGenModel) { final ParameterSpec.Builder builder = ParameterSpec.builder(propertyGenModel.getType(), propertyGenModel.getJavaIdentifier(), Modifier.FINAL); if (propertyGenModel.isOptional()) { builder.addAnnotation(Nullable.class); } return builder.build(); }
private ParameterSpec createConstructorParameter(final PropertyGenModel propertyGenModel) { final ParameterSpec.Builder builder = ParameterSpec.builder(propertyGenModel.getType(), propertyGenModel.getJavaIdentifier(), Modifier.FINAL); if (propertyGenModel.isOptional()) { builder.addAnnotation(Nullable.class); } return builder.build(); }
public List<MethodSpec> buildConstructorSpecs() { List<MethodSpec> methodSpecs = new ArrayList<>(); methodSpecs.add(MethodSpec.constructorBuilder() .addModifiers(Modifier.PUBLIC) .addParameter( ParameterSpec.builder(ormaConnectionType, connection) .addAnnotation(Annotations.nonNull()) .build()) .addStatement("this.$L = $L", connection, connection) .build()); return methodSpecs; } }
protected ParameterSpec createParameter(final PropertyGenModel property, final TypeName parameterType, final boolean copyNullable) { final ParameterSpec.Builder builder = ParameterSpec.builder(parameterType, property.getJavaIdentifier()) .addModifiers(Modifier.FINAL); if (property.isOptional() && copyNullable) { builder.addAnnotation(Nullable.class); } return builder.build(); }
private ParameterSpec asParameterSpec(String pathParam) { AnnotationSpec pathParamAnnotation = AnnotationSpec.builder(PathParam.class) .addMember("value", "\"" + pathParam + "\"").build(); AnnotationSpec attributeParamAnnotation = AnnotationSpec.builder(Attribute.class) .addMember("value", "\"" + pathParam + "\"").build(); return ParameterSpec.builder(requestType, pathParam.replace(".", "")) .addAnnotation(pathParamAnnotation) .addAnnotation(attributeParamAnnotation) .build(); }
/** * android.support.annotation.NonNull parameter * * @param type TypeName * @param name String * @param modifiers Modifier... */ public static ParameterSpec createNonNullParameter(TypeName type, String name, Modifier... modifiers) { return ParameterSpec.builder(type, name, modifiers) .addAnnotation(ANDROID_SUPPORT_ANNOTATION_NONNULL) .build(); }
.addAnnotation(ClassName.bestGuess("com.crazysunj.multitypeadapter.helper.RecyclerViewAdapterHelper.RefreshMode")) .build();
ParameterSpec.Builder param = ParameterSpec.builder(javaType, fieldName); if (emitAndroidAnnotations && field.isOptional()) { param.addAnnotation(NULLABLE);
Strings.addClassJavadoc(classBuilder, baseAnnotation); final MethodSpec.Builder constructor = MethodSpec.constructorBuilder() .addParameter(ParameterSpec.builder(Types.CONTEXT, PARAM_0).addAnnotation(Types.NON_NULL).build()) .addJavadoc("@param $L object annotated with {@link $T}\n", PARAM_0, baseAnnotation) .addStatement("final $1T $2L = $3L.getClass().getAnnotation($1T.class)", baseAnnotation, VAR_ANNOTATION, PARAM_0);
private MethodSpec messageFieldsConstructor(NameAllocator nameAllocator, MessageType type) { MethodSpec.Builder result = MethodSpec.constructorBuilder(); result.addModifiers(PUBLIC); result.addCode("this("); for (Field field : type.fieldsAndOneOfFields()) { TypeName javaType = fieldType(field); String fieldName = nameAllocator.get(field); ParameterSpec.Builder param = ParameterSpec.builder(javaType, fieldName); if (emitAndroidAnnotations && field.isOptional()) { param.addAnnotation(NULLABLE); } result.addParameter(param.build()); result.addCode("$L, ", fieldName); } result.addCode("$T.EMPTY);\n", BYTE_STRING); return result.build(); }
private static ParameterSpec parameter( TypeName type, String name, List<AnnotationSpec> externalAnnotations, AnnotationSpec... extraAnnotations) { final ParameterSpec.Builder builder = ParameterSpec.builder(type, name).addAnnotations(externalAnnotations); for (AnnotationSpec annotation : extraAnnotations) { builder.addAnnotation(annotation); } return builder.build(); }
private static ParameterSpec parameter( final PropModel prop, final TypeName type, final String name, final AnnotationSpec... extraAnnotations) { final ParameterSpec.Builder builder = ParameterSpec.builder(type, name).addAnnotations(prop.getExternalAnnotations()); for (final AnnotationSpec annotation : extraAnnotations) { builder.addAnnotation(annotation); } return builder.build(); }