All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.factoryfx.initializr.InitialProjectSetup Maven / Gradle / Ivy

package io.github.factoryfx.initializr;

import io.github.factoryfx.initializr.template.*;

import java.nio.file.Path;

/**
 * generates java files with the initial project setup for a factoryfx application
 */
public class InitialProjectSetup {

    private final Path sourceDir;
    private final String packageName;


    /**
     *
     * @param sourceDir path to project java source folder. e.g.: ./project/src/main/java
     * @param packageName project base package name
     */
    public InitialProjectSetup(Path sourceDir, String packageName) {
        this.sourceDir = sourceDir;
        this.packageName = packageName;
    }

    public void generateInitialSetup(){
        RootFactoryTemplate rootFactoryTemplate = new RootFactoryTemplate("Server",sourceDir,packageName);
        rootFactoryTemplate.generate();
        BaseFactoryTemplate baseFactoryTemplate = new BaseFactoryTemplate("Server", rootFactoryTemplate, sourceDir, packageName);
        baseFactoryTemplate.generateFile();

        ExampleResourceTemplate exampleResourceTemplate = new ExampleResourceTemplate(sourceDir, packageName);
        exampleResourceTemplate.generateFile();
        ExampleResourceFactoryTemplate exampleResourceFactoryTemplate = new ExampleResourceFactoryTemplate(sourceDir, packageName, baseFactoryTemplate, exampleResourceTemplate);
        exampleResourceFactoryTemplate.generateFile();

        new ServerBuilderTemplate("Server",rootFactoryTemplate,sourceDir,packageName,exampleResourceFactoryTemplate).generateFile();
        new MainTemplate("Server",rootFactoryTemplate,sourceDir,packageName).generateFile();
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy