SolverEvent
The payload published by every onXxx org.reactfx.EventStream of TuPrologIDEModel: it couples a domain-specific event (e.g. a it.unibo.tuprolog.solve.Solution, a resolution counter, the current goal) with a snapshot of the solver's ExecutionContextAware state (unificator, operators, libraries, flags, staticKb, dynamicKb, inputChannels, outputChannels) taken at the time the event fired.
Bundling the context together with the event lets subscribers (namely TuPrologIDEController) refresh context-sensitive views (the operators table, the flags table, the loaded libraries tree, the static/dynamic knowledge base panes) only when something actually changed, by comparing consecutive SolverEvents.
Type Parameters
the type of the wrapped domain event.
Constructors
Builds a SolverEvent wrapping event, copying the it.unibo.tuprolog.solve.ExecutionContext fields from other (typically the solver instance itself); staticKb and dynamicKb are snapshotted into immutable theories so that later mutations of the live solver do not retroactively change this event.