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
Sourcepub fn options(self, options: FilterMatchOptions) -> Self
pub fn options(self, options: FilterMatchOptions) -> Self
Sourcepub fn limits(self, limits: FilterLimits) -> Self
pub fn limits(self, limits: FilterLimits) -> Self
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.
§Returns
A filter containing the validated expression, match options, and limits.
Sourcepub fn build_checked(
self,
schema: &MetadataSchema,
) -> MetadataValidationResult<MetadataFilter>
pub fn build_checked( self, schema: &MetadataSchema, ) -> MetadataValidationResult<MetadataFilter>
Trait Implementations§
Source§impl Clone for MetadataFilterBuilder
impl Clone for MetadataFilterBuilder
Source§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 Forget for MetadataFilterBuilder
impl Freeze for MetadataFilterBuilder
impl Move 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