@@ -0,0 +1,2268 @@
+/*%0A * Flow-Design for Java%0A *%0A * Copyright (c) 2015 Falko Schumann%0A * Released under the terms of the MIT License (MIT).%0A */%0A%0Apackage de.muspellheim.flowdesign;%0A%0A/**%0A * Basisklasse oder Beispielklasse f%C3%BCr die Initialisierung eines Flows f%C3%BCr eine Applikation. Die%0A * %7B@code protected%7D-Methoden werden %C3%BCberschrieben, um die entsprechende Phase zu realisiereren.%0A *%0A * %3Col%3E%0A * %3Cli%3E%7B@link #build()%7D%3C/li%3E%0A * %3Cli%3E%7B@link #bind()%7D%3C/li%3E%0A * %3Cli%3E%7B@link #inject()%7D%3C/li%3E%0A * %3Cli%3E%7B@link #configure(String%5B%5D)%7D%3C/li%3E%0A * %3Cli%3E%7B@link #run(String%5B%5D)%7D%3C/li%3E%0A * %3C/ol%3E%0A *%0A * @author Falko Schumann &lt;falko.schumann@muspellheim.de&gt;%0A */%0Apublic abstract class Flow %7B%0A%0A    /**%0A     * Schablonenmethode zur Initialisierung und zum Start des Flows.%0A     *%0A     * @param args die Kommandozeilenoptionen der Applikation.%0A     */%0A    public final void initializeAndStart(String%5B%5D args) %7B%0A        build();%0A        bind();%0A        inject();%0A        configure(args);%0A        run(args);%0A    %7D%0A%0A    /**%0A     * Diese Methode %C3%BCberschreiben, um in ihr die Functional-Units anzulegen.%0A     */%0A    protected void build() %7B%0A    %7D%0A%0A    /**%0A     * Diese Methode %C3%BCberschreiben, um in ihr die Output-Pins und Input-Pins der Functional-Units miteinander zu%0A     * verbinden.%0A     */%0A    protected void bind() %7B%0A    %7D%0A%0A    /**%0A     * Diese Methode %C3%BCberschreiben, um die Abh%C3%A4ngigkeiten der Functional-Units in diese zu injizieren. Wenn%0A     * Abh%C3%A4ngigkeiten per Konstruktor injiziert werden, geschieht dies bereits in %7B@link #build()%7D.%0A     */%0A    protected void inject() %7B%0A    %7D%0A%0A    /**%0A     * Diese Methode %C3%BCberschreiben, um die Functional-Units zu konfigurieren. Die Kommandozeilenargumente der%0A     * Applikation werden an die Functional-Units weitergereicht, die sie ben%C3%B6tigen, damit diese ihre Konfiguration%0A     * davon lesen k%C3%B6nnen.%0A     *%0A     * @param args die Kommandozeilenoptionen der Applikation.%0A     */%0A    protected void configure(String%5B%5D args) %7B%0A    %7D%0A%0A    /**%0A     * Diese Methode %C3%BCberschreiben, um die Functional-Units die den Entry-Point des Flows darstellt zu starten.%0A     * Der Entry-Point bekommt ebenfalls die Kommandozeilenargumente der Applikation %C3%BCbergeben.%0A     *%0A     * @param args die Kommandozeilenoptionen der Applikation.%0A     */%0A    protected void run(String%5B%5D args) %7B%0A    %7D%0A%0A%7D%0A

Add template to create flow