Documentation
¶
Overview ¶
Package linker contains cross-file enrichers that run after detectors during `codeiq enrich`. Linkers walk the deterministic GraphBuilder snapshot and emit additional nodes/edges that span files (e.g. producer→consumer links via a shared topic, repository→entity QUERIES edges).
Mirrors src/main/java/io/github/randomcodespace/iq/analyzer/linker/.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EntityLinker ¶
type EntityLinker struct{}
EntityLinker emits QUERIES edges from REPOSITORY nodes to the ENTITY nodes they manage, matched by naming convention (e.g. `UserRepository` → `User`, `OrderDao` → `Order`).
Mirrors src/main/java/io/github/randomcodespace/iq/analyzer/linker/EntityLinker.java (lines 33-98).
func NewEntityLinker ¶
func NewEntityLinker() *EntityLinker
NewEntityLinker returns a stateless linker.
type Linker ¶
Linker mirrors the Java Linker interface. Implementations MUST be deterministic — same input slices in must produce identical output every time (sort any map iteration before emitting).
type ModuleContainmentLinker ¶
type ModuleContainmentLinker struct{}
ModuleContainmentLinker groups nodes by their Module field and emits MODULE nodes plus CONTAINS edges pointing at each member.
Mirrors src/main/java/io/github/randomcodespace/iq/analyzer/linker/ModuleContainmentLinker.java (lines 30-97). MODULE-kind nodes are excluded from membership grouping so a module never contains itself; duplicate CONTAINS edges are suppressed.
func NewModuleContainmentLinker ¶
func NewModuleContainmentLinker() *ModuleContainmentLinker
NewModuleContainmentLinker returns a stateless linker.
type TopicLinker ¶
type TopicLinker struct{}
TopicLinker pairs messaging producers with consumers that share a topic/queue/event/message-queue node, emitting direct CALLS edges.
Mirrors src/main/java/io/github/randomcodespace/iq/analyzer/linker/TopicLinker.java (lines 34-115). Supports Kafka, RabbitMQ, TIBCO EMS, IBM MQ, Azure Service Bus, Spring application events, and other enterprise messaging patterns.