Interface IAnnotationStore
- Namespace
- Kuestenlogik.Bowire.Semantics
- Assembly
- Kuestenlogik.Bowire.dll
Read surface of the layered annotation store. Implementations apply
the resolution priority (User > Plugin > Auto) internally
so callers get the effective answer with one call.
public interface IAnnotationStore
Remarks
The store is intentionally read-mostly. Writes happen through the concrete layers (InMemoryAnnotationLayer for session edits, JsonFileAnnotationLayer for user / project persistence) — LayeredAnnotationStore exposes those layers but does not present a write surface on the read interface, since "set" without a source dimension is ambiguous.
Methods
EnumerateEffective()
Enumerate every effective annotation across the configured layers. One entry per AnnotationKey, each carrying the resolved SemanticTag and the AnnotationSource that supplied it.
IEnumerable<Annotation> EnumerateEffective()
Returns
GetEffective(AnnotationKey)
Resolve the effective semantic tag for key,
applying the priority rule: the highest-source non-empty
annotation wins. Returns null when no source claims the
key at all.
SemanticTag? GetEffective(AnnotationKey key)
Parameters
keyAnnotationKey