use crate::{Result, Rudof, api::rdf_config::RdfConfigOperations, formats::ResultRdfConfigFormat};
use std::io;
pub struct SerializeRdfConfigBuilder<'a, W: io::Write> {
rudof: &'a Rudof,
result_rdf_config_format: Option<&'a ResultRdfConfigFormat>,
writer: &'a mut W,
}
impl<'a, W: io::Write> SerializeRdfConfigBuilder<'a, W> {
pub(crate) fn new(rudof: &'a Rudof, writer: &'a mut W) -> Self {
Self {
rudof,
result_rdf_config_format: None,
writer,
}
}
pub fn with_result_rdf_config_format(mut self, format: &'a ResultRdfConfigFormat) -> Self {
self.result_rdf_config_format = Some(format);
self
}
pub fn execute(self) -> Result<()> {
<Rudof as RdfConfigOperations>::serialize_rdf_config(self.rudof, self.result_rdf_config_format, self.writer)
}
}