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...)