pub struct MetadataFilterBuilder { /* private fields */ }Expand description
Builder for the non-logical configuration of a MetadataFilter.
The expression is mandatory. Repeated property calls are intentional and use last-write-wins semantics.
§Examples
use qubit_metadata::{FilterExpression, Metadata, MetadataFilter};
let expression = FilterExpression::builder().eq("tenant", "acme").build()?;
let filter = MetadataFilter::builder().expression(expression).build()?;
let metadata = Metadata::new().with("tenant", "acme");
assert!(filter.matches(&metadata));Implementations§
Source§impl MetadataFilterBuilder
impl MetadataFilterBuilder
Sourcepub fn expression(self, expression: FilterExpression) -> Self
pub fn expression(self, expression: FilterExpression) -> Self
Sets the required root expression.
Sourcepub fn options(self, options: FilterMatchOptions) -> Self
pub fn options(self, options: FilterMatchOptions) -> Self
Sets the match options.
Sourcepub fn limits(self, limits: FilterLimits) -> Self
pub fn limits(self, limits: FilterLimits) -> Self
Sets the resource limits.
Sourcepub fn build(self) -> MetadataResult<MetadataFilter>
pub fn build(self) -> MetadataResult<MetadataFilter>
Builds a filter after validating its expression against its limits.
§Errors
Returns MetadataError::MissingFilterExpression if no expression was
supplied, or MetadataError::FilterLimitExceeded if it exceeds the
configured limits.
Sourcepub fn build_checked(
self,
schema: &MetadataSchema,
) -> MetadataValidationResult<MetadataFilter>
pub fn build_checked( self, schema: &MetadataSchema, ) -> MetadataValidationResult<MetadataFilter>
Builds and validates a filter against schema.
§Errors
Returns construction errors or aggregate schema-validation errors.
Trait Implementations§
Source§impl Clone for MetadataFilterBuilder
impl Clone for MetadataFilterBuilder
Source§fn clone(&self) -> MetadataFilterBuilder
fn clone(&self) -> MetadataFilterBuilder
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 MetadataFilterBuilder
impl Debug for MetadataFilterBuilder
Source§impl Default for MetadataFilterBuilder
impl Default for MetadataFilterBuilder
Source§impl PartialEq for MetadataFilterBuilder
impl PartialEq for MetadataFilterBuilder
impl StructuralPartialEq for MetadataFilterBuilder
Auto Trait Implementations§
impl Freeze for MetadataFilterBuilder
impl RefUnwindSafe for MetadataFilterBuilder
impl Send for MetadataFilterBuilder
impl Sync for MetadataFilterBuilder
impl Unpin for MetadataFilterBuilder
impl UnsafeUnpin for MetadataFilterBuilder
impl UnwindSafe for MetadataFilterBuilder
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> IntoValueDefault<T> for T
impl<T> IntoValueDefault<T> for T
Source§fn into_value_default(self) -> T
fn into_value_default(self) -> T
Converts this argument into the default value. Read more