use crate::{
Result, Rudof,
api::rdf_config::RdfConfigOperations,
formats::{InputSpec, RdfConfigFormat},
};
pub struct LoadRdfConfigBuilder<'a> {
rudof: &'a mut Rudof,
rdf_config: &'a InputSpec,
rdf_config_format: Option<&'a RdfConfigFormat>,
}
impl<'a> LoadRdfConfigBuilder<'a> {
pub(crate) fn new(rudof: &'a mut Rudof, rdf_config: &'a InputSpec) -> Self {
Self {
rudof,
rdf_config,
rdf_config_format: None,
}
}
pub fn with_rdf_config_format(mut self, rdf_config_format: &'a RdfConfigFormat) -> Self {
self.rdf_config_format = Some(rdf_config_format);
self
}
pub fn execute(self) -> Result<()> {
<Rudof as RdfConfigOperations>::load_rdf_config(self.rudof, self.rdf_config, self.rdf_config_format)
}
}