private HollowAPIGenerator buildHollowAPIGenerator(ApiGeneratorExtension extension, HollowWriteStateEngine writeStateEngine, String apiTargetPath) { HollowAPIGenerator.Builder builder = new HollowAPIGenerator.Builder() .withAPIClassname(extension.apiClassName) .withPackageName(extension.apiPackageName) .withDataModel(writeStateEngine) .withDestination(apiTargetPath) .withParameterizeAllClassNames(extension.parameterizeAllClassNames) .withAggressiveSubstitutions(extension.useAggressiveSubstitutions) .withBooleanFieldErgonomics(extension.useBooleanFieldErgonomics) .reservePrimaryKeyIndexForTypeWithPrimaryKey(extension.reservePrimaryKeyIndexForTypeWithPrimaryKey) .withHollowPrimitiveTypes(extension.useHollowPrimitiveTypes) .withVerboseToString(extension.useVerboseToString); if(extension.getterPrefix != null && !extension.getterPrefix.isEmpty()) { builder.withGetterPrefix(extension.getterPrefix); } if(extension.classPostfix != null && !extension.classPostfix.isEmpty()) { builder.withClassPostfix(extension.classPostfix); } if(extension.useErgonomicShortcuts) { builder.withErgonomicShortcuts(); } if(extension.usePackageGrouping) { builder.withPackageGrouping(); } if(extension.restrictApiToFieldType) { builder.withRestrictApiToFieldType(); } return builder.build(); }
@Test public void test() throws Exception { String apiClassName = "ScalarFieldCodeGenAPI"; String packageName = "codegen.scalar.types"; runGenerator(apiClassName, packageName, Movie.class, builder -> builder.withErgonomicShortcuts().withPackageGrouping() .withHollowPrimitiveTypes(true).withRestrictApiToFieldType()); }
@Test public void test() throws Exception { String apiClassName = "PrimitiveTypeTestAPI"; String packageName = "codegen.primitive.types"; runGenerator(apiClassName, packageName, Movie.class, builder -> builder .withErgonomicShortcuts().withPackageGrouping().withHollowPrimitiveTypes(true)); }