Package com.kingsrook.qqq.middleware.javalin.executors
package com.kingsrook.qqq.middleware.javalin.executors
This package contains (hopefully generally) api-version-agnostic classes
that implement the actual QQQ Middleware. That is to say, subclasses of
`AbstractMiddlewareExecutor`, which use classes from the `.io` subpackage
for I/O, to run code in a QQQ server.
As new versions of the middleware evolve, the idea is that the spec classes
for new versions will be responsible for appropriately marshalling data
in and out of the executors, via the I/O classes, with "feature flags", etc
added to those input classes as needed (say if v N+1 adds a new feature,
then a request for v N may omit the feature-flag that turns that feature on).
As functionality continues to evolve, the time may come when it's appropriate
to fork an Executor. Hypothetically, if version 5 of the QueryExecutor
bears very little resemblance to versions 1 through 4 (due to additional
pizzazz?) spawn a new QueryWithPizzazzExecutor. Of course, naming here
will be the hardest part (e.g., avoid NewNewQueryExecutorFinal2B...)
-
Classes