Skip to main content

Step

Trait Step 

Source
pub trait Step:
    Send
    + Sync
    + Debug {
    // Required methods
    fn id(&self) -> &str;
    fn name(&self) -> &str;
    fn labels(&self) -> &[String];
    fn add_label(&mut self, label: String);
    fn requirements(&self) -> &[TraverserRequirement];
    fn process_traverser(&self, traverser: Traverser) -> StepResult;
    fn reset(&mut self);
    fn clone_step(&self) -> Box<dyn Step>;
    fn as_any(&self) -> &(dyn Any + 'static);
    fn as_any_mut(&mut self) -> &mut (dyn Any + 'static);
}
Expand description

Core step trait - all traversal steps implement this

Required Methods§

Source

fn id(&self) -> &str

Step identifier (unique in traversal)

Source

fn name(&self) -> &str

Human-readable name

Source

fn labels(&self) -> &[String]

Labels assigned to this step

Source

fn add_label(&mut self, label: String)

Add a label to this step

Source

fn requirements(&self) -> &[TraverserRequirement]

Requirements this step declares

Source

fn process_traverser(&self, traverser: Traverser) -> StepResult

Process a single traverser (standard algorithm)

Source

fn reset(&mut self)

Reset step state for reuse

Source

fn clone_step(&self) -> Box<dyn Step>

Clone as trait object

Source

fn as_any(&self) -> &(dyn Any + 'static)

Downcast to concrete type

Source

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Downcast to mutable concrete type

Implementors§