Optimized printing with lesser method calls and fix for hidden nodes
- Better variable naming
- Additional line count is now always passed on (and not as -1 if it is
not printing additional lines)
- Fix for additional line index and count
Pre/Post-processing methods now also have the current node, the node
level (and the current prefix) as argument
Some more parameters renamed for better clarity
Fixed prefix for postProcessingLine
Passing of the current prefix and the new line prefix separately
The tree line color is now returned by a method so it could be
overwritten to choose a custom color
Sorting by using a comparator does not work any more if only sorted
during the printing, since parent and child nodes are also involved in
the printing process and they would not match the sorted list any more.
The children have to be sorted on the node directly now.
New sortByKey and sortByValue methods to sort the multi maps by key or
value
Sort child nodes by key or value
Optimized printing with fewer method calls to printChildNodes and
isInvisibleNode
The calls to printNode, printChildNodes and isInvisibleNode are now
cached to make sure those methods are only called once during a
printing.
New convenient formatNumber method and fix for grouping
Better separation of TreeNode and PrintableTreeNode. The main logic of a
tree node is now in AbstractTreeNode
- New TreePrinter
- Better separation of TreeNode and PrintableTreeNode
- Simpler GenericTreePrinter
- New DebugTreePrinter
- The GenericTreePrinter now adds all TreePrinterLines (an array list)
to a list and those lines have to be converted to a string at the end