hollow/src/main/java/com/netflix/hollow/api/codegen/HollowAPIGenerator.java
protected void generateFilesForHollowSchemas(File directory) throws IOException {
        for(HollowSchema schema : dataset.getSchemas()) {
            String type = schema.getName();
            if (config.isUseHollowPrimitiveTypes() && HollowCodeGenerationUtils.isPrimitiveType(type)) continue; // skip if using hollow primitive type

            generateFile(directory, getStaticAPIGenerator(schema));
            generateFile(directory, getHollowObjectGenerator(schema));
            generateFile(directory, getHollowFactoryGenerator(schema));

            if(schema.getSchemaType() == SchemaType.OBJECT) {
                HollowObjectSchema objSchema = (HollowObjectSchema)schema;
                generateFile(directory, new HollowObjectDelegateInterfaceGenerator(packageName, objSchema,
                        ergonomicShortcuts, dataset, config));
                generateFile(directory, new HollowObjectDelegateCachedImplGenerator(packageName, objSchema,
                        ergonomicShortcuts, dataset, config));
                generateFile(directory, new HollowObjectDelegateLookupImplGenerator(packageName, objSchema,
                        ergonomicShortcuts, dataset, config));

                generateFile(directory, new HollowDataAccessorGenerator(packageName, apiClassname, objSchema,
                        dataset, config));
                if (!config.isReservePrimaryKeyIndexForTypeWithPrimaryKey()) {
                    generateFile(directory, new LegacyHollowPrimaryKeyIndexGenerator(packageName, apiClassname,
                            objSchema, dataset, config));
                } else if ((objSchema).getPrimaryKey() != null) {
                    generateFile(directory, new HollowPrimaryKeyIndexGenerator(dataset, packageName, apiClassname,
                            objSchema, config));
                    generateFile(directory, new HollowUniqueKeyIndexGenerator(packageName, apiClassname, objSchema,
                            dataset, config));
                }
            }
        }
    }
protected void generateFilesForHollowSchemas(File directory) throws IOException {
        for(HollowSchema schema : dataset.getSchemas()) {
            String type = schema.getName();
            if (config.isUseHollowPrimitiveTypes() && HollowCodeGenerationUtils.isPrimitiveType(type)) continue; // skip if using hollow primitive type

            generateFile(directory, getStaticAPIGenerator(schema));
            generateFile(directory, getHollowObjectGenerator(schema));
            generateFile(directory, getHollowFactoryGenerator(schema));

            if(schema.getSchemaType() == SchemaType.OBJECT) {
                HollowObjectSchema objSchema = (HollowObjectSchema)schema;
                generateFile(directory, new HollowObjectDelegateInterfaceGenerator(packageName, objSchema,
                        ergonomicShortcuts, dataset, config));
                generateFile(directory, new HollowObjectDelegateCachedImplGenerator(packageName, objSchema,
                        ergonomicShortcuts, dataset, config));
                generateFile(directory, new HollowObjectDelegateLookupImplGenerator(packageName, objSchema,
                        ergonomicShortcuts, dataset, config));

                generateFile(directory, new HollowDataAccessorGenerator(packageName, apiClassname, objSchema,
                        dataset, config));
                if (!config.isReservePrimaryKeyIndexForTypeWithPrimaryKey()) {
                    generateFile(directory, new LegacyHollowPrimaryKeyIndexGenerator(packageName, apiClassname,
                            objSchema, dataset, config));
                } else if ((objSchema).getPrimaryKey() != null) {
                    generateFile(directory, new HollowPrimaryKeyIndexGenerator(dataset, packageName, apiClassname,
                            objSchema, config));
                    generateFile(directory, new HollowUniqueKeyIndexGenerator(packageName, apiClassname, objSchema,
                            dataset, config));
                }
            }
        }
    }
Generate files based on dataset schemas under the specified directory

@param directory the directory under which to generate files
@throws IOException if the files cannot be generated
@deprecated construct {@code HollowAPIGenerator} with a {@code destinationPath} then call {@link #generateSourceFilesForHollowSchemas()}