pub struct DecisionEngine { /* private fields */ }Expand description
Structure used for generating and evaluating JDM decisions
Implementations§
Source§impl DecisionEngine
impl DecisionEngine
pub fn new(loader: DynamicLoader, adapter: DynamicCustomNode) -> Self
pub fn with_adapter(self, adapter: DynamicCustomNode) -> Self
pub fn with_loader(self, loader: DynamicLoader) -> Self
pub fn with_http_handler(self, http_handler: DynamicHttpHandler) -> Self
pub fn with_closure_loader<F, O>(self, loader: F) -> Self
Sourcepub async fn evaluate<K>(
&self,
key: K,
context: Variable,
) -> Result<DecisionGraphResponse, Box<EvaluationError>>
pub async fn evaluate<K>( &self, key: K, context: Variable, ) -> Result<DecisionGraphResponse, Box<EvaluationError>>
Evaluates a decision through loader using a key
Sourcepub async fn evaluate_with_opts<K>(
&self,
key: K,
context: Variable,
options: EvaluationOptions,
) -> Result<DecisionGraphResponse, Box<EvaluationError>>
pub async fn evaluate_with_opts<K>( &self, key: K, context: Variable, options: EvaluationOptions, ) -> Result<DecisionGraphResponse, Box<EvaluationError>>
Evaluates a decision through loader using a key with advanced options
pub async fn evaluate_serialized<K>( &self, key: K, context: Variable, options: EvaluationSerializedOptions, ) -> Result<Value, Value>
Sourcepub fn create_decision(&self, content: Arc<DecisionContent>) -> Decision
pub fn create_decision(&self, content: Arc<DecisionContent>) -> Decision
Creates a decision from DecisionContent, exists for easier binding creation
Sourcepub async fn get_decision(&self, key: &str) -> LoaderResult<Decision>
pub async fn get_decision(&self, key: &str) -> LoaderResult<Decision>
Retrieves a decision based on the loader
pub fn loader(&self) -> DynamicLoader
Trait Implementations§
Source§impl Clone for DecisionEngine
impl Clone for DecisionEngine
Source§fn clone(&self) -> DecisionEngine
fn clone(&self) -> DecisionEngine
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DecisionEngine
impl Debug for DecisionEngine
Auto Trait Implementations§
impl Freeze for DecisionEngine
impl !RefUnwindSafe for DecisionEngine
impl Send for DecisionEngine
impl Sync for DecisionEngine
impl Unpin for DecisionEngine
impl !UnwindSafe for DecisionEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more