pub trait PatternProvider: Send + Sync {
// Required methods
fn get_patterns(&self) -> Vec<Pattern>;
fn add_pattern(&mut self, pattern: PatternDef) -> AnalysisResult<()>;
fn remove_pattern(&mut self, name: &str) -> AnalysisResult<()>;
fn update_pattern(&mut self, pattern: PatternDef) -> AnalysisResult<()>;
}
Expand description
Trait for providing patterns
Required Methods§
Sourcefn get_patterns(&self) -> Vec<Pattern>
fn get_patterns(&self) -> Vec<Pattern>
Get all patterns
Sourcefn add_pattern(&mut self, pattern: PatternDef) -> AnalysisResult<()>
fn add_pattern(&mut self, pattern: PatternDef) -> AnalysisResult<()>
Add a new pattern
Sourcefn remove_pattern(&mut self, name: &str) -> AnalysisResult<()>
fn remove_pattern(&mut self, name: &str) -> AnalysisResult<()>
Remove a pattern by name
Sourcefn update_pattern(&mut self, pattern: PatternDef) -> AnalysisResult<()>
fn update_pattern(&mut self, pattern: PatternDef) -> AnalysisResult<()>
Update an existing pattern