Package shell

Class Detail

  • All Implemented Interfaces:
    Condition

    public class Detail
    extends Branch
    implements Condition
    Mezičlánek k uzlu. Používá se všude tam, kde je nutné doplnit uzel o další specifika. Například o podmínky provádění operací s uzlem, nebo rozšiřující jméno o další text. Například je možné podmínit průchod do jiné místnosti (z Placer.place do master), kde se o průchod stará příkaz třídy Placer. Nebo je možné bránou podmínit přesouvání objektů mezi kontejnery příkazem třídy Mover. Operaci s uzlem Branch.nodeAction() povoluje metoda Branch.nodeCondition(), která jen vrací Node.met(). Node vrací true. Detail vrací condition. Tříd, které implementují Condition.met() je v balíčku hned několik. Vedle zmíněné konjunkční All, je k dispozici i Any, která implementuje naopak logickou disjunkci - ke splnění podmínky stačí splnit jednu dílčí. Další třídy, implementujících rozhraní Condition jsou: Min,GroupMin,Max a Contains. Kombinacemi instancí, implementujících rozhraní Condition, je možné skládat i složité logické "výrazy". To je možné provádět jen "konfiguračně" v Main.main(java.lang.String[]) a není tedy nutné vytvářet vlastní třídy s implementací logiky, což odlehčí a zjednoduší stavbu i komplexnějších aplikací.
    • Field Detail

      • master

        public Node master
        cílový uzel
      • condition

        public Condition condition
        podmínka/struktura podmínek operace s uzlem
    • Constructor Detail

      • Detail

        public Detail​(Node master)
    • Method Detail

      • met

        public boolean met()
        Specified by:
        met in interface Condition
        Overrides:
        met in class Node
        Returns:
        splnění podmínky operace s uzlem
      • getMaster

        public Node getMaster()
        Returns:
        cílový uzel
      • getIdentificator

        public Node getIdentificator()
        Returns:
        uzel, který má být použit pro identifikaci; pokud je def. master pak ten, jinak standard
      • getName

        public java.lang.String getName()
        Overrides:
        getName in class Node
        Returns:
        vrátí identifikační jméno podle konfigurace (např. míček se ve zkrácené podobě identifikuje jen přídavným jménem barvy)
      • getComparable

        public java.lang.String getComparable()
        Overrides:
        getComparable in class Node
        Returns:
        vlastní comparable nahrazuje comparable kategorie, aby nebylo nutné v příkazové řádce zadávat obojí ("modrý míček" má porovnávací string "modry")
      • getExtName

        public java.lang.String getExtName()
        Description copied from class: Node
        Vrací rozšířený identifikaci objektu. Ve výchozím stavu volá Node.getName(), takže výsledek je stejný, jako přímé použití Node.getName(), ale pokud některý potomek metodu getExtName přepíše svým vlastní způsobem, bude výsledek odlišný. To je smysl této metody. Metody Node.getName() a Node.getExtName() volá v aplikaci metoda Branch.outDone() třídy Branch, podle toho jestli má nastaven příznak Branch.extName==true nebo false.
        Overrides:
        getExtName in class Node
        Returns:
        vrátí rozšířenou podobu identifikace: jméno kategorie, mezeru a vlastním jméno