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));
                }
            }
        }
    }
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()}
Generate files based on dataset schemas under the specified directory