graph LR
Specification_Evaluator["Specification Evaluator"]
Mutation_Handler["Mutation Handler"]
Grouping_Handler["Grouping Handler"]
Reduction_Handler["Reduction Handler"]
Matching_Handler["Matching Handler"]
Streaming_Handler["Streaming Handler"]
Mutation_Operations["Mutation Operations"]
Reduction_Operations["Reduction Operations"]
Specification_Evaluator -- "dispatches processing to" --> Mutation_Handler
Specification_Evaluator -- "directs execution to" --> Grouping_Handler
Specification_Evaluator -- "invokes" --> Reduction_Handler
Specification_Evaluator -- "calls" --> Matching_Handler
Specification_Evaluator -- "delegates to" --> Streaming_Handler
Mutation_Handler -- "utilizes" --> Mutation_Operations
Reduction_Handler -- "leverages" --> Reduction_Operations
The glom library's core transformation engine is orchestrated by the Specification Evaluator, which serves as the central control point for data manipulation. It interprets the user-defined glom specification and intelligently dispatches the transformation tasks to specialized handlers. These handlers, including Mutation Handler, Grouping Handler, Reduction Handler, Matching Handler, and Streaming Handler, each manage a specific type of data operation. The Mutation Handler and Reduction Handler further leverage dedicated Mutation Operations and Reduction Operations components, respectively, which encapsulate the atomic actions required for these transformations. This modular design ensures efficient and organized processing of complex data transformations, with clear responsibilities assigned to each component.
This component acts as the orchestrator within the Core Transformation Engine. It interprets the glom specification and dispatches the data transformation tasks to the appropriate specialized handlers (Mutation, Grouping, Reduction, Matching, Streaming).
Related Classes/Methods: None
Responsible for executing data mutation operations, such as assigning new values to existing elements or deleting elements from data structures.
Related Classes/Methods:
Manages operations that group data based on specified criteria, enabling aggregation and categorization of data.
Related Classes/Methods:
Performs data reduction operations, including aggregation, folding, flattening, and merging, to condense or combine data.
Related Classes/Methods:
Implements logic for matching data against specifications and performing validation, often used for conditional transformations or data filtering.
Related Classes/Methods:
Provides capabilities for processing data streams efficiently, including mapping, filtering, chunking, and windowing, optimized for large datasets.
Related Classes/Methods:
Specific classes that define the atomic mutation actions, such as Assign and Delete, which are utilized by the Mutation Handler.
Related Classes/Methods:
Specific classes that define the atomic reduction actions, such as Flatten and Merge, which are utilized by the Reduction Handler.
Related Classes/Methods: