r-io suiter-io suiteinterceptor docs
← Model loading
Edge interceptor / Low-level execution

Code2L

Detects executable 2L expressions carried by graph relations and registers them with the low-level interpretation manager.

2L

Code2LEdgeModelsPopulateInterceptor

The smallest interceptor, positioned at the boundary between graph semantics and runtime subscriptions.

isConcernedBy · afterAdd · afterUpdate
DetectionLLManager.detectLLCode(core, edge, collaborativeModel, knowledgeSpace) determines whether the edge carries deployable low-level code.
FILTERInspect relation

The concern predicate delegates directly to LLManager rather than checking only the edge name.

AFTER ADDRegister new code

Detection is called again once the edge is persisted and its endpoints are available.

AFTER UPDATERefresh registration

The updated activation expression is rediscovered by the runtime manager.

01 · Execution flow

From persisted edge to runtime observation

Edge payloadproperties + endpoints
detectLLCodeparse supported expression
Resolve contextmodel + knowledge space
RegisterLLManager
Observeruntime changes
lifecycleactual call pattern
isConcernedBy(edge):
    return LLManager.detectLLCode(core, edge, model, space)

afterAddEdge(edge):
    LLManager.detectLLCode(core, edge, model, space)

afterUpdateEdge(edge):
    LLManager.detectLLCode(core, edge, model, space)
02 · Contract

What this interceptor does — and does not do

InputGJaxbEdge + model context

The whole edge is passed to LLManager, including its activation condition and endpoints.

Outputruntime registration

No additional node or edge is created by the interceptor itself.

Deletionhooks are empty

Unregistration is not explicitly implemented in this class.

Side-effectful filter

isConcernedBy itself calls detectLLCode, then the post-write hook calls it again. This means detection should be treated as idempotent; it is not a simple type predicate.

Browse all edge lifecycle behaviorsAll edge interceptors →
Intercepteur d’arête / Exécution bas niveau

Code2L

Détecte les expressions 2L exécutables portées par les relations du graphe et les enregistre auprès du gestionnaire d’interprétation bas niveau.

2L

Code2LEdgeModelsPopulateInterceptor

Frontière entre la sémantique du graphe et les abonnements runtime.

isConcernedBy · afterAdd · afterUpdate
DétectionLLManager.detectLLCode(core, edge, collaborativeModel, knowledgeSpace) détermine si l’arête porte du code bas niveau déployable.
FILTREInspecter la relation

Le prédicat délègue directement à LLManager au lieu de tester uniquement le nom de l’arête.

APRÈS AJOUTEnregistrer le code

La détection est rejouée après persistance, lorsque les extrémités existent.

APRÈS UPDATERafraîchir

L’expression d’activation modifiée est redécouverte par le runtime.

01 · Flux d’exécution

De l’arête persistée à l’observation runtime

Arêtepropriétés + extrémités
detectLLCodeanalyser l’expression
Contextemodèle + espace
EnregistrerLLManager
Observerchangements runtime
cycle de vieappels réels
isConcernedBy(edge) :
    retourner LLManager.detectLLCode(core, edge, modèle, espace)

afterAddEdge(edge) :
    LLManager.detectLLCode(core, edge, modèle, espace)

afterUpdateEdge(edge) :
    LLManager.detectLLCode(core, edge, modèle, espace)
02 · Contrat

Ce que l’intercepteur fait — et ne fait pas

EntréeGJaxbEdge + contexte

L’arête complète est transmise avec sa condition et ses extrémités.

Sortieenregistrement runtime

L’intercepteur ne crée directement aucun nœud ni aucune arête.

Suppressionhooks vides

Aucun désenregistrement explicite n’est implémenté dans cette classe.

Filtre avec effet potentiel

isConcernedBy appelle lui-même detectLLCode, puis le hook post-écriture recommence. La détection doit donc être idempotente : ce n’est pas un simple test de type.

Consulter tous les comportements d’arêtesTous les intercepteurs d’arêtes →