35 BeforeExecute = 2 << 1,
36 AroundExecute = 3 << 1,
37 AfterExecute = 4 << 1,
40 Q_DECLARE_FLAGS(Modifiers, Modifier)
47 explicit Component(QObject *parent =
nullptr);
53 virtual Modifiers modifiers()
const;
63 void setName(
const QString &name);
68 QString reverse()
const;
73 void setReverse(
const QString &reverse);
81 virtual bool init(
Application *application,
const QVariantHash &args);
93 explicit Component(ComponentPrivate *d, QObject *parent =
nullptr);
98 virtual bool beforeExecute(
Context *c);
104 virtual bool aroundExecute(
Context *c, QStack<Component *> stack);
109 virtual bool afterExecute(
Context *c);
114 virtual bool doExecute(
Context *c);
119 void applyRoles(
const QStack<Component *> &roles);