pathBetween

open fun pathBetween(entityIdA: String, entityIdB: String): List<GraphPath>

The paths connecting entityIdA to entityIdB.

Returns an empty list when no path exists — never throws.

Return

zero or more paths; an empty list by default


open fun pathBetween(entityIdA: String, entityIdB: String, contextId: <Error class: unknown class>?): List<GraphPath>

The paths connecting entityIdA to entityIdB, confined to contextId (a null context is unscoped — exactly the plain pathBetween overload). Routed here only when honorsContextFilter is true; the default body delegates to the unscoped overload.

Parameters

contextId

the context to confine the walk to; null keeps it unscoped


open fun pathBetween(entityIdA: String, entityIdB: String, contextId: <Error class: unknown class>?, maxDepth: Int): List<GraphPath>

Same as the context-scoped overload above, but also carries the caller's own hop ceiling (maxDepth) for the walk, so a backend that enforces its own hard cap can clamp against the caller's ceiling instead of a value it hardcodes itself — mirroring the maxDepth-carrying neighborhood overload. The facade always calls this overload rather than the three-arg one, so a store that only overrides the three-arg overload keeps working unchanged, just without seeing the caller's ceiling.

Parameters

maxDepth

the caller's own hop ceiling; a backend combines this with its own hard cap (e.g. min(maxDepth, ownHardCap)) rather than trusting it blindly


open fun pathBetween(entityIdA: String, entityIdB: String, minAuthority: AuthorityTier?): List<GraphPath>

The paths connecting entityIdA to entityIdB, keeping only edges whose source authority is at least minAuthority (a null floor keeps everything).

The facade only calls this when honorsAuthorityFilter is true. A backend that opts in MUST override this overload — the default body throws rather than silently returning unfiltered paths.


open fun pathBetween(entityIdA: String, entityIdB: String, minAuthority: AuthorityTier?, maxDepth: Int): List<GraphPath>

Same as the authority-aware overload above, but also carries the caller's own hop ceiling (maxDepth), for the same reason as the context-aware maxDepth-carrying overload.