26 std::function<bool(
const std::shared_ptr<core::domain::Transaction> &,
38 bool matches(
const std::shared_ptr<core::domain::Transaction> &t,
40 for (
const auto &p : preds_)
47 bool empty()
const {
return preds_.empty(); }
50 std::vector<Pred> preds_;
66std::vector<std::shared_ptr<core::domain::Transaction>>
69 const AnalysisFilter &filter);
Domain model for transactions.
Domain aggregate that stores catalog entities for one workspace.
Aggregates transaction predicates parsed from one analysis filter specification.
bool empty() const
Checks whether no predicates have been added.
void addPredicate(Pred p)
Adds one predicate to the composed filter.
bool matches(const std::shared_ptr< core::domain::Transaction > &t, const core::domain::catalog::WorkspaceCatalog &state) const
Evaluates all predicates against one transaction.
std::function< bool(const std::shared_ptr< core::domain::Transaction > &, const core::domain::catalog::WorkspaceCatalog &)> Pred
std::vector< std::shared_ptr< core::domain::Transaction > > collectAnalysisTransactions(const core::domain::catalog::WorkspaceCatalog &state, const AnalysisFilter &filter)
Collects transactions that satisfy the supplied filter.
AnalysisFilter parseAnalysisFilterSpec(const std::string &spec)
Parses a raw filter specification into predicate form.