pub trait StringAnalyzer: Send + Sync {
// Required methods
fn analyze(&self, value: &str) -> StringAnalysis;
fn calculate_entropy(&self, value: &str) -> f64;
fn get_patterns(&self) -> &[Pattern];
fn add_pattern(&mut self, pattern: Pattern) -> AnalysisResult<()>;
// Provided method
fn is_suspicious(&self, value: &str) -> bool { ... }
}Expand description
Interface for deterministic, thread-safe string analyzers.
Required Methods§
Sourcefn analyze(&self, value: &str) -> StringAnalysis
fn analyze(&self, value: &str) -> StringAnalysis
Analyze a string and return categories and suspicious evidence.
Sourcefn calculate_entropy(&self, value: &str) -> f64
fn calculate_entropy(&self, value: &str) -> f64
Calculate Shannon entropy over the value’s UTF-8 bytes.
Sourcefn get_patterns(&self) -> &[Pattern]
fn get_patterns(&self) -> &[Pattern]
Return patterns in evaluation order.
Sourcefn add_pattern(&mut self, pattern: Pattern) -> AnalysisResult<()>
fn add_pattern(&mut self, pattern: Pattern) -> AnalysisResult<()>
Validate and append a uniquely named compiled pattern.
Provided Methods§
Sourcefn is_suspicious(&self, value: &str) -> bool
fn is_suspicious(&self, value: &str) -> bool
Check whether analysis emits any suspicious evidence.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".