use crate::{
Result, Rudof,
api::query::QueryOperations,
formats::{InputSpec, QueryType},
};
pub struct LoadQueryBuilder<'a> {
rudof: &'a mut Rudof,
query: &'a InputSpec,
query_type: Option<&'a QueryType>,
}
impl<'a> LoadQueryBuilder<'a> {
pub(crate) fn new(rudof: &'a mut Rudof, query: &'a InputSpec) -> Self {
Self {
rudof,
query,
query_type: None,
}
}
pub fn with_query_type(mut self, query_type: &'a QueryType) -> Self {
self.query_type = Some(query_type);
self
}
pub fn execute(self) -> Result<()> {
<Rudof as QueryOperations>::load_query(self.rudof, self.query, self.query_type)
}
}