SwingHyperlinkDetector
Host discovery outside terminal mutation, painting and pointer handling.
The binding owner serializes calls within each context and owns their cancellation. A detector declaring both contexts must permit concurrent independent and ordered calls. Implementations may suspend and allocate bounded discovery results, acquire host-read access, and return owned results. They must propagate cancellation, discard any tainted ordered state, and never touch Swing state. configurationGeneration changes when provider configuration becomes stale.
Properties
Reconciliation notifications for provider/index/theme changes without terminal output. The binding owns collection and cancellation. Publish configurationGeneration before emitting; this signal alone does not invalidate results when the generation and detector instance are unchanged.
Equality-only configuration generation. Publish changed configuration and a distinct generation before emitting configurationChanges; a notification with the same generation does not invalidate results. Without a notification, the owner observes the generation on its next reconciliation.
Fixed dependency discipline for this detector instance.
Functions
Returns one request's completed results. An empty list means successful detection with no links; failure/cancellation must throw and cannot mean empty success. The returned list and its results must not be mutated after return. Unknown/out-of-bounds source coordinates are ignored by the owner. Ordered state is valid only within the request's binding/source/provider/analysis epochs.
Releases retained ordered source/provider state at a binding or provider boundary. The owner calls this only after the ordered invocation has finished (including cancellation before dispatch). It must be nonblocking, may run on any thread, and must not touch independent state.