Package shell
Class All
- java.lang.Object
-
- shell.Node
-
- shell.Command
-
- shell.Branch
-
- shell.All
-
- All Implemented Interfaces:
Condition
public class All extends Branch implements Condition
Sdružuje více podmínek vBranch.nodes
- všechny musí být splněny, aby byla splněna tato. PotomkemBranch
je proto, že pracuje s kontejneremBranch.nodes
, který pak může být vypisován standardní metodikou. Příklad použití analogicky s kódem vMain.main(java.lang.String[])
:Nodes bag = new Nodes ( 5,-1, 2 ); // kontejner - batoh; do batohu příkaz Mover(...) přemístí maximálně 5 objektů a podmínka GroupMin(bag) bude splněna jen pokud budou alespoň 2 stejné Nodes drillsDone = new Nodes ( 2, 1 ); // kontejner splněných cviků; maxinální množství je 2; minimální 1 Place hriste = new Place ("hřiště" ); // místnost hřiště Place satna = new Place ("šatna" ); // místnost šatna; konstruktor Place vyrobí kontejner všech východů satna.gates GroupMin groupMin = new GroupMin (bag ); // podmínka minimálního počtu stejných věcí v batohu; koresponduje s Nodes( 5,-1, 2) Min min = new Min (drillsDone ); // podmínka minimálního počtu odcvičených cviků; koresponduje s Nodes( 2, 1 ) Node klic = new Node ("klíč",true); // klíč, který lze sebrat (přemístit do batohu) příkazem Mover(...) Contains NInN = new Contains(klic,bag ); // podmínka přítomnosti klíče v batohu Nodes podminky = new Nodes ( ); // seznam podmínek, při jejichž splnění se otevře průchod mezi šatnou a hřištěm podminky.a (groupMin); // přidám dílčí podmínku podminky.a (min); // přidám dílčí podmínku podminky.a (NInN); // přidám dílčí podmínku All all = new All (podminky ); // skupinová podmínka splnění všech dílčích podmínek Gate gate = new Gate (hriste,all ); // podmíněný průchod na hřiště satna.gates.a (gate); // přidám průchod na hřiště do kontejneru všech průchodů z šatny // nyní bude příkaz (viz. Placer) "jdi hřiště" z "šatny" proveden, jen pokud budou v batohu 2 stejné předměty a v seznamu odcvičených cviků bud minimálně 1
-
-
Field Summary
-
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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
met()
-
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, out, outExtName, outName, setName, toComparable
-
-