void printDotEdges(PrintStream os, int maxLevelsToPrintPerEdge, float totalWeight, boolean detail,
                     PrintMojo.PrintTreeOptions treeOptions) {
    assert (leftChild == null) == (rightChild == null);

    if (leftChild != null) {
      os.print("\"" + getDotName() + "\"" + " -> " + "\"" + leftChild.getDotName() + "\"" + " [");

      ArrayList<String> arr = new ArrayList<>();
      if (leftChild.getInclusiveNa()) {
        arr.add("[NA]");
      }

      if (naVsRest) {
        arr.add("[Not NA]");
      }
      else {
        if (! isBitset()) {
          arr.add("<");
        }
      }

      printDotEdgesCommon(os, maxLevelsToPrintPerEdge, arr, leftChild, totalWeight, detail, treeOptions);
    }

    if (rightChild != null) {
      os.print("\"" + getDotName() + "\"" + " -> " + "\"" + rightChild.getDotName() + "\"" + " [");

      ArrayList<String> arr = new ArrayList<>();
      if (rightChild.getInclusiveNa()) {
        arr.add("[NA]");
      }

      if (! naVsRest) {
        if (! isBitset()) {
          arr.add(">=");
        }
      }

      printDotEdgesCommon(os, maxLevelsToPrintPerEdge, arr, rightChild, totalWeight, detail, treeOptions);
    }
  }
void printDotEdges ( PrintStream os , int maxLevelsToPrintPerEdge , float totalWeight , boolean detail , PrintMojo . PrintTreeOptions treeOptions ) { assert ( leftChild == null ) == ( rightChild == null ) ; if ( leftChild != null ) { os . print ( "\"" + getDotName ( ) + "\"" + " -> " + "\"" + leftChild . getDotName ( ) + "\"" + " [" ) ; ArrayList < String > arr = new ArrayList < > ( ) ; if ( leftChild . getInclusiveNa ( ) ) { arr . add ( "[NA]" ) ; } if ( naVsRest ) { arr . add ( "[Not NA]" ) ; } else { if ( ! isBitset ( ) ) { arr . add ( "<" ) ; } } printDotEdgesCommon ( os , maxLevelsToPrintPerEdge , arr , leftChild , totalWeight , detail , treeOptions ) ; } if ( rightChild != null ) { os . print ( "\"" + getDotName ( ) + "\"" + " -> " + "\"" + rightChild . getDotName ( ) + "\"" + " [" ) ; ArrayList < String > arr = new ArrayList < > ( ) ; if ( rightChild . getInclusiveNa ( ) ) { arr . add ( "[NA]" ) ; } if ( ! naVsRest ) { if ( ! isBitset ( ) ) { arr . add ( ">=" ) ; } } printDotEdgesCommon ( os , maxLevelsToPrintPerEdge , arr , rightChild , totalWeight , detail , treeOptions ) ; } }
Recursively print all edges in the tree.
@param os output stream
@param maxLevelsToPrintPerEdge Limit the number of individual categorical level names printed per edge
@param totalWeight total weight of all observations (used to determine edge thickness)
@param detail include additional edge detail information