Class JavalinRouteProviderMetaData
java.lang.Object
com.kingsrook.qqq.middleware.javalin.metadata.JavalinRouteProviderMetaData
- All Implemented Interfaces:
QMetaDataObject,Serializable
Meta-data to define a Javalin route provider configuration.
This class configures how routes are provided and served in the Javalin
middleware layer. It supports multiple types of route providers including:
- Process-based routes (executing QQQ processes via HTTP endpoints)
- Static file serving (hosting files from the file system or JAR)
- Single Page Application (SPA) hosting with deep linking support
- Isolated SPA hosting with separate route prefixes and static files
Route providers can be configured with authentication, context handlers,
and before/after handlers for request processing customization.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGetter for afterHandlersGetter for beforeHandlersGetter for contextHandlerbooleanGetter for enableDeepLinkingGetter for excludedPathsGetter for fileSystemPathGetter for hostedPathbooleanGetter for loadFromJarGetter for methodsgetName()Getter for nameGetter for processNameGetter for routeAuthenticatorGetter for spaIndexFileGetter for spaPathGetter for spaRootFileGetter for spaRootPathGetter for staticFilesPathvoidsetAfterHandlers(List<QCodeReference> afterHandlers) Setter for afterHandlersvoidsetBeforeHandlers(List<QCodeReference> beforeHandlers) Setter for beforeHandlersvoidsetContextHandler(QCodeReference contextHandler) Setter for contextHandlervoidsetEnableDeepLinking(boolean enableDeepLinking) Setter for enableDeepLinkingvoidsetExcludedPaths(List<String> excludedPaths) Setter for excludedPathsvoidsetFileSystemPath(String fileSystemPath) Setter for fileSystemPathvoidsetHostedPath(String hostedPath) Setter for hostedPathvoidsetLoadFromJar(boolean loadFromJar) Setter for loadFromJarvoidsetMethods(List<String> methods) Setter for methodsvoidSetter for namevoidsetProcessName(String processName) Setter for processNamevoidsetRouteAuthenticator(QCodeReference routeAuthenticator) Setter for routeAuthenticatorvoidsetSpaIndexFile(String spaIndexFile) Setter for spaIndexFilevoidsetSpaPath(String spaPath) Setter for spaPathvoidsetSpaRootFile(String spaRootFile) Setter for spaRootFilevoidsetSpaRootPath(String spaRootPath) Setter for spaRootPathvoidsetStaticFilesPath(String staticFilesPath) Setter for staticFilesPathvoidvalidate(QInstance qInstance, QInstanceValidator validator) Validate this route provider configuration against the QInstance.withAfterHandlers(List<QCodeReference> afterHandlers) Fluent setter for afterHandlerswithBeforeHandlers(List<QCodeReference> beforeHandlers) Fluent setter for beforeHandlerswithContextHandler(QCodeReference contextHandler) Fluent setter for contextHandlerwithEnableDeepLinking(boolean enableDeepLinking) Fluent setter for enableDeepLinkingwithExcludedPaths(List<String> excludedPaths) Fluent setter for excludedPathswithFileSystemPath(String fileSystemPath) Fluent setter for fileSystemPathwithHostedPath(String hostedPath) Fluent setter for hostedPathwithLoadFromJar(boolean loadFromJar) Fluent setter for loadFromJarwithMethods(List<String> methods) Fluent setter for methodsFluent setter for namewithProcessName(String processName) Fluent setter for processNamewithRouteAuthenticator(QCodeReference routeAuthenticator) Fluent setter for routeAuthenticatorwithSpaIndexFile(String spaIndexFile) Fluent setter for spaIndexFilewithSpaPath(String spaPath) Fluent setter for spaPathwithSpaRootFile(String spaRootFile) Fluent setter for spaRootFilewithSpaRootPath(String spaRootPath) Fluent setter for spaRootPathwithStaticFilesPath(String staticFilesPath) Fluent setter for staticFilesPath
-
Constructor Details
-
JavalinRouteProviderMetaData
public JavalinRouteProviderMetaData()Constructor
-
-
Method Details
-
getHostedPath
-
setHostedPath
-
withHostedPath
Fluent setter for hostedPath- Parameters:
hostedPath- The URL path where this route will be hosted- Returns:
- this
-
getFileSystemPath
-
setFileSystemPath
-
withFileSystemPath
Fluent setter for fileSystemPath- Parameters:
fileSystemPath- The file system path where static files are located- Returns:
- this
-
getSpaRootPath
-
setSpaRootPath
-
withSpaRootPath
Fluent setter for spaRootPath- Parameters:
spaRootPath- The root path for the SPA- Returns:
- this
-
getSpaRootFile
-
setSpaRootFile
-
withSpaRootFile
Fluent setter for spaRootFile- Parameters:
spaRootFile- The root file for the SPA (typically index.html)- Returns:
- this
-
getProcessName
-
setProcessName
-
withProcessName
Fluent setter for processName- Parameters:
processName- The name of the process to be executed by this route- Returns:
- this
-
getMethods
-
setMethods
-
withMethods
Fluent setter for methods- Parameters:
methods- List of HTTP methods this route should handle (e.g., GET, POST)- Returns:
- this
-
getRouteAuthenticator
-
setRouteAuthenticator
Setter for routeAuthenticator- See Also:
-
withRouteAuthenticator
Fluent setter for routeAuthenticator- Parameters:
routeAuthenticator- Code reference to the authenticator for this route- Returns:
- this
-
getContextHandler
-
setContextHandler
-
withContextHandler
Fluent setter for contextHandler- Parameters:
contextHandler- Code reference to the context handler for this route- Returns:
- this
-
getName
-
setName
-
withName
Fluent setter for name- Parameters:
name- The unique name for this route provider- Returns:
- this
-
getSpaPath
-
setSpaPath
-
withSpaPath
Fluent setter for spaPath- Parameters:
spaPath- The URL path where the SPA will be served- Returns:
- this
-
getStaticFilesPath
-
setStaticFilesPath
-
withStaticFilesPath
Fluent setter for staticFilesPath- Parameters:
staticFilesPath- The path where static files are located for the SPA- Returns:
- this
-
getSpaIndexFile
-
setSpaIndexFile
-
withSpaIndexFile
Fluent setter for spaIndexFile- Parameters:
spaIndexFile- The index file name for the SPA (e.g., index.html)- Returns:
- this
-
getExcludedPaths
-
setExcludedPaths
-
withExcludedPaths
Fluent setter for excludedPaths- Parameters:
excludedPaths- List of URL paths to exclude from SPA routing- Returns:
- this
-
getEnableDeepLinking
public boolean getEnableDeepLinking()Getter for enableDeepLinking- See Also:
-
setEnableDeepLinking
public void setEnableDeepLinking(boolean enableDeepLinking) Setter for enableDeepLinking- See Also:
-
withEnableDeepLinking
Fluent setter for enableDeepLinking- Parameters:
enableDeepLinking- Whether to enable deep linking for the SPA (default true)- Returns:
- this
-
getLoadFromJar
public boolean getLoadFromJar()Getter for loadFromJar- See Also:
-
setLoadFromJar
public void setLoadFromJar(boolean loadFromJar) Setter for loadFromJar- See Also:
-
withLoadFromJar
Fluent setter for loadFromJar- Parameters:
loadFromJar- Whether to load SPA files from JAR resources (default false)- Returns:
- this
-
getBeforeHandlers
-
setBeforeHandlers
Setter for beforeHandlers- See Also:
-
withBeforeHandlers
Fluent setter for beforeHandlers- Parameters:
beforeHandlers- List of code references to handlers executed before the route- Returns:
- this
-
getAfterHandlers
-
setAfterHandlers
-
withAfterHandlers
Fluent setter for afterHandlers- Parameters:
afterHandlers- List of code references to handlers executed after the route- Returns:
- this
-
validate
Validate this route provider configuration against the QInstance. Ensures that: - Referenced process names exist in the QInstance - Route authenticator code references are valid - Context handler code references are valid - Before and after handler code references are valid - IsolatedSpaRouteProvider fields are properly configured when used- Parameters:
qInstance- the QInstance to validate againstvalidator- the validator to record validation errors
-