pub struct PipelineBuilder { /* private fields */ }Expand description
Builder for configuring a normalization pipeline.
Provides fine-grained control over which normalization stages are included
and in what order. The default configuration matches NormalizationPipeline::standard().
§Examples
ⓘ
// Standard pipeline (equivalent to NormalizationPipeline::standard())
let pipeline = PipelineBuilder::new().build();
// Codegen pipeline (equivalent to NormalizationPipeline::for_codegen())
let pipeline = PipelineBuilder::new()
.consolidation(Consolidation::Skip)
.naming(Naming::Skip)
.build();
// Custom pipeline with extra stages
let pipeline = PipelineBuilder::new()
.circular_dependency_strategy(ResolutionStrategy::Boxing)
.add_stage(MyCustomStage)
.build();Implementations§
Source§impl PipelineBuilder
impl PipelineBuilder
Sourcepub fn consolidation(self, consolidation: Consolidation) -> Self
pub fn consolidation(self, consolidation: Consolidation) -> Self
Set the consolidation strategy.
Sourcepub fn circular_dependency_strategy(self, strategy: ResolutionStrategy) -> Self
pub fn circular_dependency_strategy(self, strategy: ResolutionStrategy) -> Self
Set the circular dependency resolution strategy.
Sourcepub fn add_stage<S: NormalizationStage + 'static>(self, stage: S) -> Self
pub fn add_stage<S: NormalizationStage + 'static>(self, stage: S) -> Self
Append a custom stage that will run after the built-in stages.
Sourcepub fn build(self) -> NormalizationPipeline
pub fn build(self) -> NormalizationPipeline
Build the configured NormalizationPipeline.
Stages are added in order:
- Type consolidation (if not skipped)
- Naming resolution (if not skipped, or custom stage)
- Circular dependency resolution (always included)
- Any extra stages added via
add_stage()
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PipelineBuilder
impl !RefUnwindSafe for PipelineBuilder
impl !Send for PipelineBuilder
impl !Sync for PipelineBuilder
impl Unpin for PipelineBuilder
impl UnsafeUnpin for PipelineBuilder
impl !UnwindSafe for PipelineBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more