public Builder addAnnotation(Class<?> annotation) { return addAnnotation(ClassName.get(annotation)); }
private void createFactoryClass() throws IOException { final TypeName configurationBuilderFactory = Types.CONFIGURATION_BUILDER_FACTORY; Strings.writeClass(processingEnv.getFiler(), TypeSpec.classBuilder(factoryName) .addModifiers(Modifier.PUBLIC) .addSuperinterface(configurationBuilderFactory) .addAnnotation(AnnotationSpec.builder(AutoService.class).addMember("value", "$T.class", configurationBuilderFactory).build()) .addMethod(Types.overriding(Types.getOnlyMethod(processingEnv, Strings.CONFIGURATION_BUILDER_FACTORY)) .addAnnotation(Types.NON_NULL) .addStatement("return new $T($L)", ClassName.get(PACKAGE, builderName), PARAM_0) .build()) .build()); } }
@Override public void enterRule(Rule rule) { // generates a new ephemeral unique class name for each generated rule. Only valid for the runtime of the jvm classFile = TypeSpec.classBuilder("rule$" + rule.id()) .addSuperinterface(GeneratedRule.class) .addModifiers(Modifier.FINAL, Modifier.PUBLIC) .addAnnotation(AnnotationSpec.builder(SuppressWarnings.class) .addMember("value", "$S", "unchecked") .build() ) .addMethod(MethodSpec.methodBuilder("name") .returns(String.class) .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .addStatement("return $S", rule.name()) .build() ); constructorBuilder = MethodSpec.constructorBuilder() .addModifiers(Modifier.PUBLIC) .addParameter(FunctionRegistry.class, "functionRegistry"); lateConstructorBlock = CodeBlock.builder(); hoistedConstantExpressions = CodeBlock.builder(); }
public void accept(TypeSpec.Builder type) { if (!set.isEmpty()) { AnnotationSpec.Builder generated = AnnotationSpec.builder(Generated.class); for (String value : set) { generated.addMember("value", "$S", value); } type.addAnnotation(generated.build()); } }
private void addSuppressWarningsAnnotation(final TypeSpec.Builder typeSpecBuilder) { typeSpecBuilder.addAnnotation( AnnotationSpec.builder(SuppressWarnings.class) .addMember("value", "$S", "all") .build()); }
@Override public TypeSpec buildTypeSpec() { TypeSpec.Builder classBuilder = TypeSpec.classBuilder(schema.getSchemaClassName()); if (schema.isGeneric()) { classBuilder.addAnnotation(Annotations.suppressWarnings("rawtypes")); } classBuilder.addModifiers(Modifier.PUBLIC); classBuilder.addSuperinterface(Types.getSchema(schema.getModelClassName())); classBuilder.addFields(buildFieldSpecs()); classBuilder.addMethods(buildMethodSpecs()); return classBuilder.build(); }
@Override public TypeSpec buildTypeSpec() { TypeSpec.Builder classBuilder = TypeSpec.classBuilder(getTargetClassName()); if (schema.isGeneric()) { classBuilder.addAnnotation(Annotations.suppressWarnings("rawtypes")); } classBuilder.addModifiers(Modifier.PUBLIC); classBuilder.superclass(Types.getAssociationCondition(schema.getModelClassName(), getTargetClassName())); classBuilder.addField(FieldSpec.builder(schema.getSchemaClassName(), "schema", Modifier.FINAL).build()); classBuilder.addMethods(buildMethodSpecs()); return classBuilder.build(); }
@Override protected TypeSpec.Builder createTypeSpec() { return PoetUtils.createClassBuilder(className()) .addModifiers(Modifier.FINAL) .addAnnotation(SdkInternalApi.class) .addSuperinterface(visitorBuilderType) .addField(FieldSpec.builder(consumerType(eventStreamBaseClass), "onDefault") .addModifiers(Modifier.PRIVATE) .build()) .addType(new VisitorFromBuilderImplSpec().poetSpec()); }
private TypeSpec buildTypeSpec() { TypeSpec.Builder tableBuilder = TypeSpec.classBuilder(this.simpleTableName) .addAnnotation(AnnotationSpec.builder(Generated.class) .addMember("value", "$S", TableRendererV2.class.getName()) .build()) .addAnnotation(AnnotationSpec.builder(SuppressWarnings.class) .addMember("value", "$S", "all") .build()) .addModifiers(Modifier.PUBLIC); getFields().forEach(tableBuilder::addField); getConstructors().forEach(tableBuilder::addMethod); getStaticFactories().forEach(tableBuilder::addMethod); getMethods().forEach(tableBuilder::addMethod); return tableBuilder.build(); }
public String render() { TypeSpec.Builder tableFactory = TypeSpec.classBuilder(getClassName()) .addModifiers(Modifier.PUBLIC, Modifier.FINAL) .addAnnotation(AnnotationSpec.builder(Generated.class) .addMember("value", "$S", TableFactoryRenderer.class.getName()) .build()); getFields().forEach(tableFactory::addField); getSubTypes().forEach(tableFactory::addType); getConstructors().forEach(tableFactory::addMethod); getMethods().forEach(tableFactory::addMethod); JavaFile javaFile = JavaFile.builder(packageName, tableFactory.build()) .indent(" ") .build(); return javaFile.toString(); }
constantBuilder.addAnnotation(Deprecated.class);
private TypeSpec getTypeSpec() { TypeSpec.Builder builder = TypeSpec.classBuilder(mJsonObjectHolder.injectedClassName).addModifiers(Modifier.PUBLIC, Modifier.FINAL); builder.addAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "\"unsafe,unchecked\"").build());
TypeSpec.classBuilder(getStateContainerClassName(specModel)) .addSuperinterface(specModel.getStateContainerClass()) .addAnnotation( AnnotationSpec.builder(VisibleForTesting.class) .addMember("otherwise", "$L", VisibleForTesting.PRIVATE)
void generate() { TypeSpec shortbread = TypeSpec.classBuilder("ShortbreadGenerated") .addAnnotation(AnnotationSpec.builder(suppressLint) .addMember("value", "$S", "NewApi") .addMember("value", "$S", "ResourceType") .build()) .addModifiers(Modifier.PUBLIC, Modifier.FINAL) .addMethod(createShortcuts()) .addMethod(callMethodShortcut()) .build(); JavaFile javaFile = JavaFile.builder("shortbread", shortbread) .indent(" ") .build(); try { javaFile.writeTo(filer); } catch (IOException e) { e.printStackTrace(); } }
@Override protected TypeSpec.Builder createClassBuilder() { ClassName parentClassName = getClassDetail().getGeneratedClassName(); ClassName generatedClassName = ClassName.get( getClassDetail().getPackageName(), getClassDetail().getTypeName() + BindingSuffix.CLASS_LOAD_MORE_VIEW_BINDER_SUFFIX); ClassName loadMoreCallbackClassName = ClassName.get( NameStore.Package.PLACE_HOLDER_VIEW, NameStore.Class.LOAD_MORE_CALLBACK_BINDER); return TypeSpec.classBuilder(generatedClassName) .superclass(parentClassName) .addSuperinterface(ParameterizedTypeName.get(loadMoreCallbackClassName, TypeVariableName.get(getClassDetail().getTypeElement().asType()))) .addModifiers(Modifier.PUBLIC) .addAnnotation(Keep.class); }
@Override protected TypeSpec.Builder createClassBuilder() { return TypeSpec.classBuilder(getClassDetail().getGeneratedClassName()) .superclass(ParameterizedTypeName.get( getClassDetail().getSuperClassName(), TypeVariableName.get(getClassDetail().getTypeElement().asType()), getClassDetail().getFrameViewClassName(), getClassDetail().getSwipeDirectionalOptionClassName(), getClassDetail().getSwipeDecorClassName())) .addModifiers(Modifier.PUBLIC) .addAnnotation(Keep.class); }
@Override protected TypeSpec.Builder createClassBuilder() { return TypeSpec.classBuilder(getClassDetail().getGeneratedClassName()) .superclass(ParameterizedTypeName.get( getClassDetail().getSuperClassName(), TypeVariableName.get(getClassDetail().getTypeElement().asType()), TypeVariableName.get(getClassDetail().getViewTypeParameterClassName().simpleName()))) .addModifiers(Modifier.PUBLIC) .addAnnotation(Keep.class); }
@Override protected TypeSpec.Builder createClassBuilder() { return TypeSpec.classBuilder(getClassDetail().getGeneratedClassName()) .superclass(ParameterizedTypeName.get( getClassDetail().getSuperClassName(), TypeVariableName.get(getClassDetail().getTypeElement().asType()), getClassDetail().getFrameViewClassName(), getClassDetail().getSwipeOptionClassName(), getClassDetail().getSwipeDecorClassName())) .addModifiers(Modifier.PUBLIC) .addAnnotation(Keep.class); }
private TypeSpec classProviders(ClassName className, List<MethodSpec> methodSpecs) { return TypeSpec.classBuilder(className.simpleName() + "Actionable") .addModifiers(Modifier.PUBLIC) .addAnnotation(AnnotationSpec.builder(Generated.class) .addMember("value", "$S", ActionsProcessor.class.getCanonicalName()) .addMember("comments", "$S", "Generated code from RxCache. Don't modify. Or modify. It doesn't matter.") .build()) .addMethods(methodSpecs) .build(); }
public Builder addAnnotation(ClassName annotation) { return addAnnotation(AnnotationSpec.builder(annotation).build()); }