Package shell
Class App
- java.lang.Object
-
- shell.Node
-
- shell.Command
-
- shell.Branch
-
- shell.App
-
- All Implemented Interfaces:
Condition
public class App extends Branch
TřídaApp
je určena ke konstrukci kořenového uzlu aplikaceApp(java.lang.String[], shell.Nodes, shell.Node, shell.Node, shell.Node)
na konciMain.main(java.lang.String[])
bloku a mimo další, přebírá parametrargs
odMain.main(java.lang.String[])
, který případně použije k nastavení zdroje ovládacích příkazů. Protože jde také o potomkaBranch
, jejím průchodemBranch.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 jejichCommand.action()
resp.Branch.nodeAction()
. Kontejner je konstruktorem vložen doBranch.nodes
. Příkazové uzly mají nastavenu aktivační úroveň 1 (již konstruktoremCommand
) 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říkazstop
, který je třídyFlag
- přepíná logický příznak, kterým je zároveň "while" hlavní smyčka aplikace podmíněna. Další parametry konstruktoruApp(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 Summary
Fields Modifier and Type Field Description static Flag
stop
příznak, že se má ukončit smyčka příkazové řádky-
Fields inherited from class shell.Branch
dNode, eNode, errorPath, errorPathDelimiter, errorWord, extName, levelNodePath, masterDelimiter, node, nodes, nodesBegin, nodesDelimiter, nodesEmpty, nodesEnd, noGoEmpty, noPathNoAll, noPrint, passed, prompt, recurse
-
Fields inherited from class shell.Command
comment, done, error, levelActive
-
Fields inherited from class shell.Node
comparable, level, name, noActive
-
-
Method Summary
-
Methods inherited from class shell.Branch
defPrompt, findFirst, go, nodeAction, nodeCondition, nodeCover, nodeGo, nodePath, nodesCover, outDone, outError, outErrorPath, outErrorWord, plural, setNodes, setNoPrint
-
Methods inherited from class shell.Node
getComparable, getExtName, getName, mes, met, out, outExtName, outName, setName, toComparable
-
-
-
-
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 řádkuMain.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 vMain.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 kontejnerBranch.nodes
, který je standardně používánBranch
metodami.- Parameters:
args
- pole systémových parametrůnodes
- plní atributBranch.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í
-
-