Plugins for protocol processors. Technically, this is a sub-part of PureGraphManagerPlugin
but due to the way we encapsulate the protocol code and the way we organize graph managers,
we want to keep PureGraphManagerPlugin to operate at metamodel level where as this allows
extension mechanism on the protocol models.
When we introduce another version of protocol models, e.g. v2_0_0, we would just add another set
of plugin methods here without having to modify the abstract layer of graph manager.
NOTE: this process is complicated, as it involes advanced procedures like type inferencing,
function matching, handling generics, etc. so our graph manager never intends to even try to
do this. However, occassionally, when there is needs to understand some particular lambda
(such as while building a query), we would need this method.
NOTE: since this set of element is meant to be kept small at the moment,
we can store them as part of the codebase; however, when this set grows,
we should consider having a backend exposed an end point to collect these models.
Plugins for protocol processors. Technically, this is a sub-part of
PureGraphManagerPlugin
but due to the way we encapsulate the protocol code and the way we organize graph managers, we want to keepPureGraphManagerPlugin
to operate at metamodel level where as this allows extension mechanism on the protocol models.When we introduce another version of protocol models, e.g. v2_0_0, we would just add another set of plugin methods here without having to modify the abstract layer of graph manager.