| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'cfg-to-paths/src/Node.java')
| -rw-r--r-- | cfg-to-paths/src/Node.java | 73 | 
1 files changed, 53 insertions, 20 deletions
| diff --git a/cfg-to-paths/src/Node.java b/cfg-to-paths/src/Node.java index 5f82f64..3b6f2c1 100644 --- a/cfg-to-paths/src/Node.java +++ b/cfg-to-paths/src/Node.java @@ -2,33 +2,14 @@ import java.util.*;  public class Node  { +   /** Static *****************************************************************/     private static final Map<String, Node> NODE_FROM_STRING; -   private final Collection<Node> next_nodes; - -   private final String name;     static     {        NODE_FROM_STRING = new HashMap<String, Node>();     } -   private Node (final String name) -   { -      this.name = name; -      next_nodes = new ArrayList<Node>(); -   } - -   public Collection<Node> next_nodes () -   { -      return next_nodes; -   } - -   @Override -   public String toString () -   { -      return name; -   } -     public static Node get_node (final String s)     {        return NODE_FROM_STRING.get(s); @@ -44,6 +25,24 @@ public class Node        return true;     } +   public static boolean handle_is_terminal (final String a) +   { +      Node n; + +      n = NODE_FROM_STRING.get(a); + +      if (n == (Node) null) +      { +         n = new Node(a); + +         NODE_FROM_STRING.put(a, n); +      } + +      n.set_as_terminal(); + +      return true; +   } +     public static boolean handle_connect_to (final String a, final String b)     {        final Node n_a, n_b; @@ -68,4 +67,38 @@ public class Node        return true;     } + +   /** Non-Static *************************************************************/ +   private final Collection<Node> next_nodes; +   private final String name; +   private boolean is_terminal; + +   private Node (final String name) +   { +      this.name = name; + +      next_nodes = new ArrayList<Node>(); +      is_terminal = false; +   } + +   private void set_as_terminal () +   { +      is_terminal = true; +   } + +   public Collection<Node> next_nodes () +   { +      return next_nodes; +   } + +   public boolean is_terminal () +   { +      return is_terminal; +   } + +   @Override +   public String toString () +   { +      return name; +   }  } | 


