Package shell

Class App

  • All Implemented Interfaces:
    Condition

    public class App
    extends Branch
    Třída App je určena ke konstrukci kořenového uzlu aplikace App(java.lang.String[], shell.Nodes, shell.Node, shell.Node, shell.Node) na konci Main.main(java.lang.String[]) bloku a mimo další, přebírá parametr args od Main.main(java.lang.String[]), který případně použije k nastavení zdroje ovládacích příkazů. Protože jde také o potomka Branch, jejím průchodem Branch.go(), který je prováděn v každém kroku hlavní smyčky aplikace, je podle zdroje identifikován a vykonán vždy jeden příkaz z cmds (Branch.levelNodePath==0). V kontejneru cmds jsou všechny "příkazové" uzly, které je možné párovat s identifikací z příkazové řádky a provádět jejich Command.action() resp. Branch.nodeAction(). Kontejner je konstruktorem vložen do Branch.nodes. Příkazové uzly mají nastavenu aktivační úroveň 1 (již konstruktorem Command) a do "tiskového" módu se přepnou jen pokud jsou procházeny z nenulové úrovně (např. z příkazu "tisk"), nebo jsou "kontejnerové" a není splněna podmínka uvedení cesty (tisknou se možnosti). Smyčka provádění příkazů se opakuje tak dlouho, dokud není vykonán příkaz stop, který je třídy Flag - přepíná logický příznak, kterým je zároveň "while" hlavní smyčka aplikace podmíněna. Další parametry konstruktoru App(String[] args, Nodes nodes,Node begin,Node step,Node end) jsou uzly, které se mají projít v různých fázích. První před smyčkou, druhý v každém kroku smyčky a třetí po smyčce. Nepoužité je nutné uvést jako null.
    • Field Detail

      • stop

        public static Flag stop
        příznak, že se má ukončit smyčka příkazové řádky
    • Constructor Detail

      • App

        public App​(java.lang.String[] args,
                   Nodes nodes,
                   Node begin,
                   Node step,
                   Node end)
        Konstruktor je zároveň hlavním vláknem aplikace. Má být použit na posledním řádku Main.main(java.lang.String[]) metody, kde mají být nejprve sestavena veškerá data aplikace z "balíčkových" objektů, nebo jejich potomků. Protože má být konstrukce kořenového uzlu aplikace zároveň posledním příkazem v Main.main(java.lang.String[]) v bloku nemusí být na vyrobený kořenový uzel ani odkaz. Všechny parametry konstruktoru, které jsou použity jen v bloku konstruktoru nemusí být ukládány v atributech objektu - jsou použity pouze lokálně. Do atributu se přesouvá pouze kontejner Branch.nodes, který je standardně používán Branch metodami.
        Parameters:
        args - pole systémových parametrů
        nodes - plní atribut Branch.nodes, zde kontejner příkazů
        begin - uzel procházený na začátku aplikace; lokální
        step - uzel procházený v každém kroku aplikace; lokální
        end - uzel procházený na konci aplikace; lokální