Refactored include and exclude filters

This commit is contained in:
Bartek Kryza
2022-03-27 19:32:58 +02:00
parent 6800baea55
commit 36065a7819
61 changed files with 606 additions and 307 deletions

View File

@@ -35,6 +35,7 @@
namespace clanguml {
namespace config {
enum class diagram_type { class_diagram, sequence_diagram, package_diagram };
enum class method_arguments { full, abbreviated, none };
@@ -48,21 +49,23 @@ struct plantuml {
struct filter {
std::vector<common::model::namespace_> namespaces;
// Valid values are:
std::vector<std::string> elements;
// E.g.:
// - inheritance
// - dependency
// - instantiation
std::vector<std::string> relationships;
// E.g.:
// - classes
// - enums
std::vector<std::string> entity_types;
// E.g.:
// - public
// - protected
// - private
std::vector<common::model::scope_t> scopes;
std::vector<std::string> scopes;
std::vector<std::string> subclasses;
std::vector<std::string> context;
};
enum class hint_t { up, down, left, right };
@@ -111,26 +114,6 @@ struct diagram : public inheritable_diagram_options {
virtual diagram_type type() const = 0;
bool should_include_entities(const std::string &ent);
bool should_include_relationship(const std::string &rel);
bool should_include_package(const std::string &name) const;
bool should_include_package(const common::model::namespace_ &path) const;
bool should_include(
const std::pair<common::model::namespace_, std::string> &name) const;
bool should_include(
const common::model::namespace_ &ns, const std::string &name) const;
bool should_include(const common::model::scope_t scope) const;
bool should_include(const std::string &name_) const;
bool should_include(const common::model::namespace_ &path) const;
std::string name;
};