Annotation Interface GraphProjection


@Documented @Target({}) @Retention(RUNTIME) public @interface GraphProjection
Optional materialization of a searchable Model's complete composed Graph.

Search activation and Graph materialization are independent choices. Model.searchable() and Model.searchSettings() determine which canonical nodes participate in search. This annotation only controls whether Fluxzero additionally stores the composed Graph.

The default mode is NONE: no complete Graph document is stored. Searchable node documents are still maintained, and Graph queries compose them live when read. GraphProjectionMode.ASYNC and GraphProjectionMode.AWAIT additionally maintain a stored complete Graph.

  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Distinct collection receiving materialized Graph documents.
    Whether to materialize the composed Graph and whether commits wait for that materialization.
    Optional projection-local replacements for canonical relationship paths.
  • Element Details

    • mode

      Whether to materialize the composed Graph and whether commits wait for that materialization. NONE is the default and means live Graph composition from indexed nodes, not absence of Graph search.
      Default:
      NONE
    • collection

      String collection
      Distinct collection receiving materialized Graph documents. Blank derives from the explicitly configured canonical node collection, or from the resolved logical root-model name when no node collection is configured.
      Default:
      ""
    • pathOverrides

      GraphPathOverride[] pathOverrides
      Optional projection-local replacements for canonical relationship paths.
      Default:
      {}