pub trait Categorizer: Send + Sync {
// Required methods
fn categorize(&self, value: &str) -> Vec<StringCategory>;
fn add_rule(&mut self, rule: CategoryRule) -> AnalysisResult<()>;
fn remove_rule(&mut self, name: &str) -> AnalysisResult<()>;
fn get_categories(&self) -> Vec<StringCategory>;
}Expand description
Interface for deterministic, thread-safe string categorizers.
Required Methods§
Sourcefn categorize(&self, value: &str) -> Vec<StringCategory>
fn categorize(&self, value: &str) -> Vec<StringCategory>
Categorize a string in deterministic rule order.
Sourcefn add_rule(&mut self, rule: CategoryRule) -> AnalysisResult<()>
fn add_rule(&mut self, rule: CategoryRule) -> AnalysisResult<()>
Validate and add a uniquely named rule.
Sourcefn remove_rule(&mut self, name: &str) -> AnalysisResult<()>
fn remove_rule(&mut self, name: &str) -> AnalysisResult<()>
Remove an existing rule by name.
Sourcefn get_categories(&self) -> Vec<StringCategory>
fn get_categories(&self) -> Vec<StringCategory>
Return distinct categories in deterministic rule order.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".