avhimkov
3/8/2017 - 6:23 PM

Site java From https://habrahabr.ru/post/323430/

public class Site {
    public static void main(String[] args) throws Exception {
        File targetDirectory = getTargetDirectory();
        SiteType siteModel = readSiteModel();
        Configuration cfg = getTemplateConfiguration();
        generateIndex(targetDirectory, siteModel, cfg);
        siteModel.getProduct().stream().forEach(product -> generateProduct(targetDirectory, cfg, product));
    }

    private static void generateIndex(File targetDirectory, SiteType siteModel, Configuration cfg) {
        try(Writer out = new FileWriter(new File(targetDirectory, "index.html"))) {
            Template template = cfg.getTemplate("index-template.html");
            template.process(siteModel, out);
        } catch (Exception e) {
            throw new IllegalArgumentException(e);
        }
    }

    private static void generateProduct(File targetDirectory, Configuration cfg, ProductType product) {
        try(Writer out = new FileWriter(new File(targetDirectory, product.getId() + ".html"))) {
            Template prodTemplate = cfg.getTemplate("product-template.html");
            prodTemplate.process(product, out);
        } catch (Exception e) {
            throw new IllegalArgumentException(e);
        }
    }
...
}