Skip to content

Conversation

@petruki
Copy link
Member

@petruki petruki commented Sep 25, 2025

This pull request introduces a new pipeline feature to the DotPathQL library, allowing users to chain multiple data transformation operations (such as exclude and obfuscate) using a fluent API. The pipeline enables more readable, efficient, and consistent processing of objects, and supports both custom and default paths for each operation. The documentation and tests have been updated to reflect and verify this new functionality.

Pipeline API and Core Implementation:

  • Added a new Pipeline class that enables chaining of exclude and obfuscate operations with a fluent interface, and executes them in a single pass for improved performance and consistency. (src/main/java/ca/trackerforce/Pipeline.java)
  • Introduced a pipeline(T source) method in DotPathQL to create a pipeline for a given object, facilitating the new API. (src/main/java/ca/trackerforce/DotPathQL.java)
  • Updated the DotPath interface and its implementation to support checking for default paths with a new hasDefaultPaths() method, enabling the pipeline to use default exclude/obfuscate paths when none are specified. (src/main/java/ca/trackerforce/path/api/DotPath.java, src/main/java/ca/trackerforce/path/PathCommon.java) [1] [2]

@petruki petruki self-assigned this Sep 25, 2025
@petruki petruki added the enhancement New feature or request label Sep 25, 2025
@sonarqubecloud
Copy link

@petruki petruki merged commit 73efec8 into master Sep 25, 2025
7 checks passed
@petruki petruki deleted the staging branch September 25, 2025 04:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants