Class QJavalinImplementation
java.lang.Object
com.kingsrook.qqq.backend.javalin.QJavalinImplementation
QQQ Javalin implementation. Given a QInstance, defines all routes needed
to respond to http requests and route down into the qqq backend.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionQJavalinImplementation
(QInstance qInstance) QJavalinImplementation
(QInstance qInstance, QJavalinMetaData javalinMetaData) QJavalinImplementation
(String qInstanceFilePath) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addJavalinRoutes
(io.javalin.apibuilder.EndpointGroup routes) void
if restarting this class, and you want to re-run addJavalinRoutes, but not create duplicates, well, you might want to call this method!static void
clearQContext
(io.javalin.http.Context context) static QJavalinMetaData
Getter for javalinMetaDataio.javalin.Javalin
static QInstance
Getter for qInstanceGetter for qInstanceHotSwapSupplierstatic ReportFormat
getReportFormat
(io.javalin.http.Context context, Optional<String> optionalFilename, String format) io.javalin.apibuilder.EndpointGroup
static long
static void
handleException
(io.javalin.http.Context context, Exception e) static void
hotSwapQInstance
(io.javalin.http.Context context) If there's a qInstanceHotSwapSupplier, and its been a little while, replace the qInstance with a new one from the supplier.static void
static void
metaData
(io.javalin.http.Context context) static <T> void
runStreamedExportOrReport
(io.javalin.http.Context context, ReportFormat reportFormat, String filename, UnsafeFunction<PipedOutputStream, T, Exception> preAction, UnsafeConsumer<T, Exception> executor) static void
setDefaultPort
(int port) void
setJavalinMetaData
(QJavalinMetaData javalinMetaData) Setter for javalinMetaDatastatic void
setMillisBetweenHotSwaps
(long millisBetweenHotSwaps) static void
setQInstance
(QInstance qInstance) Setter for qInstancestatic void
setQInstanceHotSwapSupplier
(Supplier<QInstance> qInstanceHotSwapSupplier) Setter for qInstanceHotSwapSupplierstatic QSession
setupSession
(io.javalin.http.Context context, AbstractActionInput input) void
startJavalinServer
(int port) void
-
Field Details
-
SESSION_COOKIE_AGE
public static final int SESSION_COOKIE_AGE- See Also:
-
SESSION_ID_COOKIE_NAME
- See Also:
-
SESSION_UUID_COOKIE_NAME
- See Also:
-
API_KEY_NAME
- See Also:
-
SLOW_LOG_THRESHOLD_MS
public static final long SLOW_LOG_THRESHOLD_MS- See Also:
-
-
Constructor Details
-
QJavalinImplementation
- Throws:
QInstanceValidationException
-
QJavalinImplementation
public QJavalinImplementation(QInstance qInstance, QJavalinMetaData javalinMetaData) throws QInstanceValidationException - Throws:
QInstanceValidationException
-
QJavalinImplementation
- Throws:
IOException
-
-
Method Details
-
main
- Throws:
QInstanceValidationException
-
startJavalinServer
public void startJavalinServer(int port) -
getJavalinService
public io.javalin.Javalin getJavalinService() -
clearQContext
public static void clearQContext(io.javalin.http.Context context) -
hotSwapQInstance
public static void hotSwapQInstance(io.javalin.http.Context context) If there's a qInstanceHotSwapSupplier, and its been a little while, replace the qInstance with a new one from the supplier. Meant to be used while doing development. -
stopJavalinServer
public void stopJavalinServer() -
setDefaultPort
public static void setDefaultPort(int port) -
getRoutes
public io.javalin.apibuilder.EndpointGroup getRoutes() -
setupSession
public static QSession setupSession(io.javalin.http.Context context, AbstractActionInput input) throws QModuleDispatchException, QAuthenticationException -
metaData
public static void metaData(io.javalin.http.Context context) -
runStreamedExportOrReport
public static <T> void runStreamedExportOrReport(io.javalin.http.Context context, ReportFormat reportFormat, String filename, UnsafeFunction<PipedOutputStream, T, throws ExceptionException> preAction, UnsafeConsumer<T, Exception> executor) - Throws:
Exception
-
getReportFormat
public static ReportFormat getReportFormat(io.javalin.http.Context context, Optional<String> optionalFilename, String format) -
handleException
-
setQInstanceHotSwapSupplier
-
getJavalinMetaData
Getter for javalinMetaData -
setJavalinMetaData
Setter for javalinMetaData -
getQInstanceHotSwapSupplier
-
getQInstance
Getter for qInstance -
setQInstance
Setter for qInstance -
setMillisBetweenHotSwaps
public static void setMillisBetweenHotSwaps(long millisBetweenHotSwaps) -
getStartTimeMillis
public static long getStartTimeMillis() -
addJavalinRoutes
public void addJavalinRoutes(io.javalin.apibuilder.EndpointGroup routes) -
clearJavalinRoutes
public void clearJavalinRoutes()if restarting this class, and you want to re-run addJavalinRoutes, but not create duplicates, well, you might want to call this method!
-