View Javadoc

1   package cz.cuni.amis.pogamut.shady;
2   
3   import java.util.Collections;
4   import java.util.List;
5   
6   /**
7    * Representation of one node in the if-then tree. The root node is always
8    * called "root" and all nodes must have different names.
9    * @author Honza
10   */
11  public class ShadeNode {
12  
13      private final String name;
14      private final String descr;
15      private final List<NodeElement> elementsUm;
16  
17      /**
18       * Create new node with specified name, description and elements.
19       * @param name name of the node, used in {@link NodeCall}
20       * @param descr description of this node, what is what and so on
21       * @param elements elements of this node, possible paths engine can choose
22       *        when it descends into this node. Elements are evaluated using
23       *        priority and trigger until the one with highest priority and
24       *        enabled trigger is selected.
25       */
26      ShadeNode(String name, String descr, List<NodeElement> elements) {
27          this.name = name;
28          this.descr = descr;
29          this.elementsUm = Collections.unmodifiableList(elements);
30      }
31  
32      /**
33       * Get identifier of the node. That has some special rules and is quite
34       * similar to FQN name of class.
35       * @return identifier of node.
36       */
37      public String getName() {
38          return name;
39      }
40  
41      /**
42       * Get list of all elements of this node.
43       * @return unmodifiable list
44       */
45      public List<NodeElement> getElements() {
46          return elementsUm;
47      }
48  
49  }