public List apply()

in freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/output/TemplateSeedingOutputGenerator.java [46:96]


    public List<OutputGenerator> apply(OutputGeneratorDefinition definition) {
        final List<OutputGenerator> result = new ArrayList<>();
        final TemplateSourceDefinition templateSourceDefinition = requireNonNull(definition.getTemplateSourceDefinition());
        final TemplateOutputDefinition templateOutputDefinition = definition.getTemplateOutputDefinition();
        final TemplateTransformationsBuilder builder = TemplateTransformationsBuilder.builder();

        // set the template
        if (templateSourceDefinition.isInteractiveTemplate()) {
            builder.setInteractiveTemplate(templateSourceDefinition.interactiveTemplate);
        } else {
            builder.setTemplateSource(templateSourceDefinition.template);
        }

        // set encoding of loaded templates
        builder.setTemplateEncoding(settings.getTemplateEncoding());

        // set the writer
        builder.setCallerSuppliedWriter(settings.getCallerSuppliedWriter());

        // set template output
        if (templateOutputDefinition != null && templateOutputDefinition.hasOutput()) {
            builder.setOutput(templateOutputDefinition.outputs.get(0));
        }

        // set the output encoding
        builder.setOutputEncoding(settings.getOutputEncoding());

        // set template filter
        if (definition.hasTemplateSourceIncludes()) {
            builder.addInclude(definition.getTemplateSourceFilterDefinition().templateIncludePatterns.get(0));
        }

        if (definition.hasTemplateSourceExcludes()) {
            builder.addExclude(definition.getTemplateSourceFilterDefinition().templateExcludePatterns.get(0));
        }

        final List<TemplateTransformation> templateTransformations = builder.build();

        for (TemplateTransformation templateTransformation : templateTransformations) {
            final OutputGenerator outputGenerator = new OutputGenerator(
                    templateTransformation.getTemplateSource(),
                    templateTransformation.getTemplateOutput(),
                    dataSources(settings, definition),
                    dataModels(definition),
                    SeedType.TEMPLATE
            );
            result.add(outputGenerator);
        }

        return result;
    }