Class TreeFlattener

java.lang.Object
org.pgcodekeeper.core.model.difftree.TreeFlattener

public final class TreeFlattener extends Object
Utility class for flattening tree structures with filtering capabilities. Provides methods to filter tree elements based on selection status, edit state, ignore lists, and object types while maintaining proper hierarchy traversal.
  • Constructor Details

    • TreeFlattener

      public TreeFlattener()
  • Method Details

    • onlySelected

      public TreeFlattener onlySelected()
      Configures the flattener to include only selected elements.
      Returns:
      this TreeFlattener for method chaining
    • onlySelected

      public TreeFlattener onlySelected(boolean onlySelected)
      Configures whether to include only selected elements.
      Parameters:
      onlySelected - true to include only selected elements
      Returns:
      this TreeFlattener for method chaining
    • onlyEdits

      public TreeFlattener onlyEdits(IDatabase dbSource, IDatabase dbTarget)
      Configures the flattener to include only edited elements.
      Parameters:
      dbSource - source database for comparison
      dbTarget - target database for comparison
      Returns:
      this TreeFlattener for method chaining
    • useIgnoreList

      public TreeFlattener useIgnoreList(IgnoreList ignoreList)
      Configures the flattener to use an ignore list for filtering.
      Parameters:
      ignoreList - the ignore list to apply
      Returns:
      this TreeFlattener for method chaining
    • useIgnoreList

      public TreeFlattener useIgnoreList(IgnoreList ignoreList, String... dbNames)
      Configures the flattener to use an ignore list with database name filtering.
      Parameters:
      ignoreList - the ignore list to apply
      dbNames - database names for rule matching
      Returns:
      this TreeFlattener for method chaining
    • onlyTypes

      public TreeFlattener onlyTypes(Collection<DbObjType> onlyTypes)
      Configures the flattener to include only specific object types.
      Parameters:
      onlyTypes - collection of object types to include
      Returns:
      this TreeFlattener for method chaining
    • flatten

      public List<TreeElement> flatten(TreeElement root)
      Flattens the tree structure applying all configured filters.
      Parameters:
      root - the root element to start flattening from
      Returns:
      list of filtered tree elements