Example #1
0
 public List<JavaFile> generate() {
   MigrationVersionMetadata migrationVersion = schemaName().migrationVersion();
   return type()
       .stream()
       .map(type -> migrationVersion.generate(type))
       .collect(MoreCollectors.toImmutableList());
 }
Example #2
0
 private TypeSpec migrationType() {
   MigrationVersionMetadata migrationVersion = schemaName().migrationVersion();
   ClassName className = migrationVersion.className();
   return TypeSpec.classBuilder(className.simpleName())
       .addAnnotation(migrationAnnotation())
       .addTypes(
           tableInfoList()
               .stream()
               .map(TableInfoMetadata::type)
               .collect(MoreCollectors.toImmutableList()))
       .build();
 }
Example #3
0
 private AnnotationSpec schemaAnnotation(MigrationVersionMetadata migrationVersion) {
   return AnnotationSpec.builder(Schema.class)
       .addMember("migrations", "{ $T.class }", migrationVersion.className())
       .build();
 }