Exemple #1
0
 /// <summary>
 /// method to query nodes into this table
 /// </summary>
 /// <param name="flat">
 /// if elements should be depth one, then
 /// flat should be true
 /// </param>
 public void queryNodes(bool flat = false)
 {
     foreach (Node node in Db.ParentQuery(QueryTag))
     {
         if (node is Table)
         {
             if (flat)
             {
                 queryNodesFlat((Table)node);
             }
             else
             {
                 Tables.Add((Table)node);
             }
         }
         else if (node is RuleNode)
         {
             RuleNodes.Add((RuleNode)node);
         }
         else if (node is EvalNode)
         {
             EvalNodes.Add((EvalNode)node);
         }
     }
 }
Exemple #2
0
 /// <summary>
 /// recursive helper method for queryNodesFlat
 /// </summary>
 /// <param name="table"> the sub table to be
 /// added to first level access</param>
 private void queryNodesFlat(Table table)
 {
     foreach (Table t in table.tables)
     {
         queryNodesFlat(t);
         tables.Add(t);
     }
     foreach (RuleNode node in table.ruleNodes)
     {
         RuleNodes.Add(node);
     }
     foreach (EvalNode node in table.evalNodes)
     {
         EvalNodes.Add(node);
     }
 }