use crate::{Result, Rudof, api::shacl::ShaclOperations, formats::ShaclValidationMode};
pub struct ValidateShaclBuilder<'a> {
rudof: &'a mut Rudof,
mode: Option<&'a ShaclValidationMode>,
}
impl<'a> ValidateShaclBuilder<'a> {
pub(crate) fn new(rudof: &'a mut Rudof) -> Self {
Self { rudof, mode: None }
}
pub fn with_shacl_validation_mode(mut self, mode: &'a ShaclValidationMode) -> Self {
self.mode = Some(mode);
self
}
pub fn execute(self) -> Result<()> {
<Rudof as ShaclOperations>::validate_shacl(self.rudof, self.mode)
}
}