Skip to main content

Language

Trait Language 

Source
pub trait Language: Send + Sync {
    // Required methods
    fn name(&self) -> &'static str;
    fn create_expression(
        &self,
        script: &str,
    ) -> Result<Box<dyn Expression>, LanguageError>;
    fn create_predicate(
        &self,
        script: &str,
    ) -> Result<Box<dyn Predicate>, LanguageError>;

    // Provided methods
    fn create_mutating_expression(
        &self,
        _script: &str,
    ) -> Result<Box<dyn MutatingExpression>, LanguageError> { ... }
    fn create_mutating_predicate(
        &self,
        _script: &str,
    ) -> Result<Box<dyn MutatingPredicate>, LanguageError> { ... }
}
Expand description

A Language factory: produces Expression and Predicate objects.

Required Methods§

Source

fn name(&self) -> &'static str

Source

fn create_expression( &self, script: &str, ) -> Result<Box<dyn Expression>, LanguageError>

Source

fn create_predicate( &self, script: &str, ) -> Result<Box<dyn Predicate>, LanguageError>

Provided Methods§

Source

fn create_mutating_expression( &self, _script: &str, ) -> Result<Box<dyn MutatingExpression>, LanguageError>

Create a mutating expression. Default returns NotSupported.

Source

fn create_mutating_predicate( &self, _script: &str, ) -> Result<Box<dyn MutatingPredicate>, LanguageError>

Create a mutating predicate. Default returns NotSupported.

Implementors§