use crate::{
Result, Rudof,
api::dctap::DctapOperations,
formats::{DCTapFormat, InputSpec},
};
pub struct LoadDctapBuilder<'a> {
rudof: &'a mut Rudof,
dctap: &'a InputSpec,
dctap_format: Option<&'a DCTapFormat>,
}
impl<'a> LoadDctapBuilder<'a> {
pub(crate) fn new(rudof: &'a mut Rudof, dctap: &'a InputSpec) -> Self {
Self {
rudof,
dctap,
dctap_format: None,
}
}
pub fn with_dctap_format(mut self, dctap_format: &'a DCTapFormat) -> Self {
self.dctap_format = Some(dctap_format);
self
}
pub fn execute(self) -> Result<()> {
<Rudof as DctapOperations>::load_dctap(self.rudof, self.dctap, self.dctap_format)
}
}