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.

Hierarchy

  • AbstractPlugin
    • PureProtocolProcessorPlugin

Methods

  • Get the list of builders for class instance value.

    Returns V1_ClassInstanceValueBuilder[]

  • Get the list of serializers for class instance value.

    Returns V1_ClassInstanceValueProtocolDeserializer[]

  • Get the list of deserializers for class instance value.

    Returns V1_ClassInstanceValueProtocolSerializer[]

  • Get the list of transformers for class instance value.

    Returns V1_ClassInstanceValueTransformer[]

  • Get the list of builders for dataset entitlement report.

    Returns V1_DatasetEntitlementReportBuilder[]

  • Get the list of serializers for dataset entitlement report.

    Returns V1_DatasetEntitlementReportDeserializer[]

  • Get the list of builders for dataset specification.

    Returns V1_DatasetSpecificationBuilder[]

  • Get the list of serializers for dataset specification.

    Returns V1_DatasetSpecificationDeserializer[]

  • Get the list of serializers for dataset specification.

    Returns V1_DatasetSpecificationSerializer[]

  • Get the list of transformers for dataset specification.

    Returns V1_DatasetSpecificationTransformer[]

  • Get the list of builders for packageable element: i.e. protocol model -> metamodel.

    Returns V1_ElementBuilder<V1_PackageableElement>[]

  • Get the list of methods to derive the classifier path of a packageable element.

    Returns V1_ElementProtocolClassifierPathGetter[]

  • Get list of element pointer type

    Returns V1_ElementPointerType[]

  • Get the list of de-serializers for packageable element: i.e. JSON -> protocol model.

    Returns V1_ElementProtocolDeserializer[]

  • Get the list of serializers for packageable element: i.e. protocol model -> JSON.

    Returns V1_ElementProtocolSerializer[]

  • Get the list of transformers for packageable element: i.e. metamodel -> protocol model.

    Returns V1_ElementTransformer[]

  • Get the list of builders for function expression.

    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.

    Returns V1_FunctionExpressionBuilder[]

  • Get the list of serializers for Graph Fetch.

    Returns V1_GraphFetchDeserializer[]

  • Get the list of serializers for Graph Fetch.

    Returns V1_GraphFetchSerializer[]

  • Get the list of type inferrers for property expression.

    Returns V1_PropertyExpressionTypeInferrer[]

  • Get the list of builders for query execution (mapping, runtime).

    Returns V1_SavedQueryExecutionBuilder[]

  • Get the list of supported system element models.

    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.

    Returns PlainObject<T>[]