Class SpincastConfigDefault
- All Implemented Interfaces:
SpincastConfig
- Direct Known Subclasses:
AppConfig
,AppConfigDefault
,SpincastConfigTestingDefault
Also, don't forget to annotated the testingMode
parameter with @TestingMode!
-
Nested Class Summary
Nested classes/interfaces inherited from class org.spincast.plugins.config.ConfigFinder
ConfigFinder.ConfigFinderBuilder
-
Field Summary
Fields inherited from class org.spincast.plugins.config.ConfigFinder
configs, logger, rawConfigs
-
Constructor Summary
ModifierConstructorDescriptionprotected
SpincastConfigDefault
(SpincastConfigPluginConfig spincastConfigPluginConfig, boolean testingMode) Constructor -
Method Summary
Modifier and TypeMethodDescriptionEven if gziping of the response is enabled, those Content-Types still won't be gzipped.Name of the Cookie to to use save a Flash Message id.Name of the Cookie to use to save the userLocale
.Name of the Cookie to use to save the id of the userTimeZone
.Name of the Cookie to use to validate if cookies are enabled.The default Locale to use if no other Locale can be found as a "best match", for the current request.int
When using the.cache()
method on a route builder, this is the default number of seconds to use.When using the.cache()
method on a route builder, this is the default number of seconds to use by the CDNs.getDefaultStaticResourceCacheConfig
(boolean isDynamicResource) The default cache configurations for the static resource.int
IfaddGlobalTemplateVariablesAdderFilter
returnstrue
, then this is the position at which the filter will be added.The default TimeZone to use if no other TimeZone can be found as a "best match", for the current request.If a dictionary key is not found, how must Spincast react?Returns the name of the environment.protected String
int
The HTTP (unsecure) port on which the server will listen on.The "keypass" of theKeyStore
, for SSL.The path to theKeyStore
, for SSL.The "storepass" of theKeyStore
, for SSL.The type of theKeyStore
, for SSL.int
The HTTPS (secure) port on which the server will listen on.int
Gets the maximum index of an element of an array, when parsing aJsonPath
.int
int
Gets the maximum number ofkeys
in a Map that can be parsed asJsonPaths
to create aJsonObject
.final String
The public hostfinal int
The public portfinal String
Three of the rare "final" methods in Spincast!protected URI
You should override this config!!!!The name of the queryString parameter to use for a Flash Message id, when cookies are not available.int
The maximum number of time a request can be forwarded to another route.The host/IP on which the server will listen to.long
Maximum number of bytes a request's body can have.Name of the root variables reserved for Spincast in the response's model.protected String
The path to the writable directory.A directory where temp files can be written by Spincast.The default name to use for the validation element that will be available on the response's model whenForm
elements are added.Will callgetSpincastWritableDirPath()
to get the path to use for the writable directory.protected void
init()
boolean
Should the GlobalTemplateVariablesAdderFilter be automatically added to all routes?boolean
When using the.cache()
method on a route builder, is the cache private by default?boolean
Let this totrue
on a development environment, where errors can be publicly displayed, where cache can be disabled, where class redefinition can be done, etc.boolean
Iftrue
, Spincast will always try to set a cookie to validate if cookies are enabled on the client.boolean
ShouldHTTP/2
be enabled on the embeddedServer
, if its supports it? Note that Undertow, the default server provided with Spincast, does support it.boolean
Are the URLS case-sensitive or not, during the route matching process? The default value isfalse
.boolean
Returnstrue
if the context has been created for running tests.boolean
By default, ifSpincastConfig.getPublicServerHost()
returns"localhost"
,SpincastConfig.getEnvironmentName()
is not"local"
andSpincastConfig.isDevelopmentMode()
is false, an exception is thrown when the application starts.boolean
Iftrue
, the dynamic resources (static resource which have a generator in case they don't exist) won't be saved to disk.Methods inherited from class org.spincast.plugins.config.ConfigFinder
clearPrefixes, configure, expandMap, getAppJarDirectory, getAppRootDirectoryNoJar, getBigDecimal, getBigDecimal, getBigDecimalFromElement, getBigDecimalList, getBigDecimalList, getBoolean, getBoolean, getBooleanFromElement, getBooleanList, getBooleanList, getClasspathFilePath, getConfig, getConfig, getConfigFromMap, getConfigFromMap, getConfigList, getConfigList, getConfigs, getDate, getDate, getDateFromElement, getDateList, getDateList, getEnvironmentVariables, getEnvironmentVariablesConfigs, getEnvironmentVariablesPrefixes, getExternalFilePath, getInteger, getInteger, getIntegerFromElement, getIntegerList, getIntegerList, getLong, getLong, getLongFromElement, getLongList, getLongList, getMap, getMap, getMapList, getMapList, getRawConfig, getRawConfigs, getString, getString, getStringList, getStringList, getSystemPropertiesConfigs, getSystemPropertiesPrefixes, isEnvironmentVariablesStripPrefix, isExternalFileConfigsOverrideEnvironmentVariables, isSystemPropertiesStripPrefix, isThrowExceptionIfSpecifiedClasspathConfigFileIsNotFound, isThrowExceptionIfSpecifiedExternalConfigFileIsNotFound, loadYamlFileConfigs, mergeMaps
-
Field Details
-
ENVIRONMENT_NAME_DEFAULT
- See Also:
-
-
Constructor Details
-
SpincastConfigDefault
@Inject protected SpincastConfigDefault(SpincastConfigPluginConfig spincastConfigPluginConfig, boolean testingMode) Constructor
-
-
Method Details
-
init
@Inject protected void init() -
getEnvironmentName
Description copied from interface:SpincastConfig
Returns the name of the environment. The default value islocal
.- Specified by:
getEnvironmentName
in interfaceSpincastConfig
- Returns:
- the name of the environment
-
getHttpServerPort
public int getHttpServerPort()Description copied from interface:SpincastConfig
The HTTP (unsecure) port on which the server will listen on. If <= 0, it won't be used. The default value is44419
so HTTP is enabled by default.- Specified by:
getHttpServerPort
in interfaceSpincastConfig
- Returns:
- the HTTP port
-
getHttpsServerPort
public int getHttpsServerPort()Description copied from interface:SpincastConfig
The HTTPS (secure) port on which the server will listen on. If <= 0, it won't be used. The default value is-1
so HTTPS is not enabled by default.- Specified by:
getHttpsServerPort
in interfaceSpincastConfig
- Returns:
- the HTTPS port
-
getHttpsKeyStorePath
Description copied from interface:SpincastConfig
The path to theKeyStore
, for SSL. Can be a classpath path or and absolute path. The classpath will be checked first. Only used ifgetHttpsServerPort()
returns a port > 0. The default value isnull
.- Specified by:
getHttpsKeyStorePath
in interfaceSpincastConfig
- Returns:
- the path to the
KeyStore
-
getHttpsKeyStoreType
Description copied from interface:SpincastConfig
The type of theKeyStore
, for SSL. For example: "JKS". Only used ifgetHttpsServerPort()
returns a port > 0. The default value isnull
.- Specified by:
getHttpsKeyStoreType
in interfaceSpincastConfig
- Returns:
- the type of the
KeyStore
-
getHttpsKeyStoreStorePass
Description copied from interface:SpincastConfig
The "storepass" of theKeyStore
, for SSL. Only used ifgetHttpsServerPort()
returns a port > 0. The default value isnull
.- Specified by:
getHttpsKeyStoreStorePass
in interfaceSpincastConfig
- Returns:
- the "storepass" of the
KeyStore
-
getHttpsKeyStoreKeyPass
Description copied from interface:SpincastConfig
The "keypass" of theKeyStore
, for SSL. Only used ifgetHttpsServerPort()
returns a port > 0. The default value isnull
.- Specified by:
getHttpsKeyStoreKeyPass
in interfaceSpincastConfig
- Returns:
- the "keypass" of the
KeyStore
-
getPublicURI
-
getPublicServerScheme
Three of the rare "final" methods in Spincast!- Specified by:
getPublicServerScheme
in interfaceSpincastConfig
-
getPublicServerHost
Description copied from interface:SpincastConfig
The public host- Specified by:
getPublicServerHost
in interfaceSpincastConfig
-
getPublicServerPort
public final int getPublicServerPort()Description copied from interface:SpincastConfig
The public port- Specified by:
getPublicServerPort
in interfaceSpincastConfig
-
getPublicUrlBase
You should override this config!!!!- Specified by:
getPublicUrlBase
in interfaceSpincastConfig
-
getHostForDefaultPublicServerSchemeHostPort
-
getServerHost
Description copied from interface:SpincastConfig
The host/IP on which the server will listen to. The default value is0.0.0.0
.- Specified by:
getServerHost
in interfaceSpincastConfig
- Returns:
- the host/IP
-
isDevelopmentMode
public boolean isDevelopmentMode()Description copied from interface:SpincastConfig
Let this totrue
on a development environment, where errors can be publicly displayed, where cache can be disabled, where class redefinition can be done, etc.In production set it to
false
The default value is
true
.- Specified by:
isDevelopmentMode
in interfaceSpincastConfig
- Returns:
true
if debug mode is enabled.
-
isTestingMode
public boolean isTestingMode()Description copied from interface:SpincastConfig
Returnstrue
if the context has been created for running tests.For example, this would by default disable the scheduled tasks to be registered.
- Specified by:
isTestingMode
in interfaceSpincastConfig
-
isRoutesCaseSensitive
public boolean isRoutesCaseSensitive()Description copied from interface:SpincastConfig
Are the URLS case-sensitive or not, during the route matching process? The default value isfalse
.- Specified by:
isRoutesCaseSensitive
in interfaceSpincastConfig
- Returns:
- if they are case-sensitive
- See Also:
-
getServerMaxRequestBodyBytes
public long getServerMaxRequestBodyBytes()Description copied from interface:SpincastConfig
Maximum number of bytes a request's body can have. "-1" means no limit. The default value is104857600
(100MB).- Specified by:
getServerMaxRequestBodyBytes
in interfaceSpincastConfig
- Returns:
- the maximum number of bytes
-
isEnableHttp2
public boolean isEnableHttp2()Description copied from interface:SpincastConfig
ShouldHTTP/2
be enabled on the embeddedServer
, if its supports it? Note that Undertow, the default server provided with Spincast, does support it.Defaults to
true
.- Specified by:
isEnableHttp2
in interfaceSpincastConfig
-
getContentTypesToSkipGziping
Description copied from interface:SpincastConfig
Even if gziping of the response is enabled, those Content-Types still won't be gzipped. If an entry ends with "*", it will be considered as a prefix (ex: "image/*" will match all Content-Types starting with "image/"). Otherwise, the current response Content-Type will have to exactly match the entry (case insensitive), or being followed by a " " or a ";".- Specified by:
getContentTypesToSkipGziping
in interfaceSpincastConfig
- Returns:
- the Content-Types that shouldn't be gzipped.
-
getWritableRootDir
Will callgetSpincastWritableDirPath()
to get the path to use for the writable directory. If this method returnsnull
, a directory will be created under thejava.io.tmpdir
directory.- Specified by:
getWritableRootDir
in interfaceSpincastConfig
- Returns:
- a directory with write permissions for Spincast.
-
getTempDir
Description copied from interface:SpincastConfig
A directory where temp files can be written by Spincast.This directory will be emptied each time the application starts!
- Specified by:
getTempDir
in interfaceSpincastConfig
-
getSpincastWritableDirPath
The path to the writable directory.The path can be relative or absolute.
- Returns:
- the path or
null
to use the default location (using the "java.io.tmpdir" folder).
-
getDefaultLocale
Description copied from interface:SpincastConfig
The default Locale to use if no other Locale can be found as a "best match", for the current request. The default value isLocale.US
.- Specified by:
getDefaultLocale
in interfaceSpincastConfig
- Returns:
- the default Locale
-
getDefaultTimeZone
Description copied from interface:SpincastConfig
The default TimeZone to use if no other TimeZone can be found as a "best match", for the current request. The default value isUTC
.- Specified by:
getDefaultTimeZone
in interfaceSpincastConfig
- Returns:
- the default TimeZone
-
getRouteForwardingMaxNumber
public int getRouteForwardingMaxNumber()Description copied from interface:SpincastConfig
The maximum number of time a request can be forwarded to another route. After this number, an exception will be thrown. The default value is2
.- Specified by:
getRouteForwardingMaxNumber
in interfaceSpincastConfig
- Returns:
- the maximum number of time
-
getDefaultRouteCacheFilterSecondsNbr
public int getDefaultRouteCacheFilterSecondsNbr()Description copied from interface:SpincastConfig
When using the.cache()
method on a route builder, this is the default number of seconds to use.- Specified by:
getDefaultRouteCacheFilterSecondsNbr
in interfaceSpincastConfig
-
isDefaultRouteCacheFilterPrivate
public boolean isDefaultRouteCacheFilterPrivate()Description copied from interface:SpincastConfig
When using the.cache()
method on a route builder, is the cache private by default?- Specified by:
isDefaultRouteCacheFilterPrivate
in interfaceSpincastConfig
-
getDefaultRouteCacheFilterSecondsNbrCdns
Description copied from interface:SpincastConfig
When using the.cache()
method on a route builder, this is the default number of seconds to use by the CDNs.- Specified by:
getDefaultRouteCacheFilterSecondsNbrCdns
in interfaceSpincastConfig
-
isWriteToDiskDynamicStaticResource
public boolean isWriteToDiskDynamicStaticResource()Description copied from interface:SpincastConfig
Iftrue
, the dynamic resources (static resource which have a generator in case they don't exist) won't be saved to disk. This means that the generator will always be called, so changes during development will be picked up.- Specified by:
isWriteToDiskDynamicStaticResource
in interfaceSpincastConfig
-
isAddDefaultTemplateVariablesFilter
public boolean isAddDefaultTemplateVariablesFilter()Description copied from interface:SpincastConfig
Should the GlobalTemplateVariablesAdderFilter be automatically added to all routes?This filter bind some default variables to be used by the templating engine.
- Specified by:
isAddDefaultTemplateVariablesFilter
in interfaceSpincastConfig
-
getDefaultTemplateVariablesFilterPosition
public int getDefaultTemplateVariablesFilterPosition()Description copied from interface:SpincastConfig
IfaddGlobalTemplateVariablesAdderFilter
returnstrue
, then this is the position at which the filter will be added.- Specified by:
getDefaultTemplateVariablesFilterPosition
in interfaceSpincastConfig
-
getDefaultStaticResourceCacheConfig
Description copied from interface:SpincastConfig
The default cache configurations for the static resource.This will be used if no
cache(...)
method is used when building the static resource's route.- Specified by:
getDefaultStaticResourceCacheConfig
in interfaceSpincastConfig
- Parameters:
isDynamicResource
- iftrue
, a generator is use when the resource doesn't exist. Those kind of generated resources may be modified more often then trully static resources, so we may want to use a different caching period.- Returns:
- the default cache configuration to use or
null
so no cache headers are sent at all.
-
getMaxNumberOfKeysWhenConvertingMapToJsonObject
public int getMaxNumberOfKeysWhenConvertingMapToJsonObject()Description copied from interface:SpincastConfig
Gets the maximum number ofkeys
in a Map that can be parsed asJsonPaths
to create aJsonObject
.This maximum is to prevent malicious user to POST a very big number of
keys
and harm the server.- Specified by:
getMaxNumberOfKeysWhenConvertingMapToJsonObject
in interfaceSpincastConfig
-
getKeyMaxLengthWhenConvertingMapToJsonObject
public int getKeyMaxLengthWhenConvertingMapToJsonObject()Description copied from interface:SpincastConfig
Gets the maximum length of akey
in a Map that can be parsed asJsonPaths
using thecreate
method.This maximum is to prevent malicious user to POST very long and complex
keys
and harm the server.- Specified by:
getKeyMaxLengthWhenConvertingMapToJsonObject
in interfaceSpincastConfig
-
getJsonPathArrayIndexMax
public int getJsonPathArrayIndexMax()Description copied from interface:SpincastConfig
Gets the maximum index of an element of an array, when parsing aJsonPath
.- Specified by:
getJsonPathArrayIndexMax
in interfaceSpincastConfig
-
isValidateLocalhostHost
public boolean isValidateLocalhostHost()Description copied from interface:SpincastConfig
By default, ifSpincastConfig.getPublicServerHost()
returns"localhost"
,SpincastConfig.getEnvironmentName()
is not"local"
andSpincastConfig.isDevelopmentMode()
is false, an exception is thrown when the application starts.This validation is to make sure the developers didn't forget to override the
SpincastConfig.getPublicUrlBase()
method when they release to a non local environment.You can disable this validation if you want.
- Specified by:
isValidateLocalhostHost
in interfaceSpincastConfig
-
isEnableCookiesValidator
public boolean isEnableCookiesValidator()Description copied from interface:SpincastConfig
Iftrue
, Spincast will always try to set a cookie to validate if cookies are enabled on the client.This is enabled by default
- Specified by:
isEnableCookiesValidator
in interfaceSpincastConfig
-
getQueryParamFlashMessageId
Description copied from interface:SpincastConfig
The name of the queryString parameter to use for a Flash Message id, when cookies are not available.- Specified by:
getQueryParamFlashMessageId
in interfaceSpincastConfig
-
getCookieNameFlashMessage
Description copied from interface:SpincastConfig
Name of the Cookie to to use save a Flash Message id.- Specified by:
getCookieNameFlashMessage
in interfaceSpincastConfig
-
getCookieNameLocale
Description copied from interface:SpincastConfig
Name of the Cookie to use to save the userLocale
.The default is "spincast_locale"
- Specified by:
getCookieNameLocale
in interfaceSpincastConfig
-
getCookieNameTimeZoneId
Description copied from interface:SpincastConfig
Name of the Cookie to use to save the id of the userTimeZone
.The default is "spincast_timezone"
- Specified by:
getCookieNameTimeZoneId
in interfaceSpincastConfig
-
getCookiesValidatorCookieName
Description copied from interface:SpincastConfig
Name of the Cookie to use to validate if cookies are enabled.The default is "spincast_cookies_enabled".
- Specified by:
getCookiesValidatorCookieName
in interfaceSpincastConfig
-
getSpincastModelRootVariableName
Description copied from interface:SpincastConfig
Name of the root variables reserved for Spincast in the response's model.- Specified by:
getSpincastModelRootVariableName
in interfaceSpincastConfig
-
getValidationElementDefaultName
Description copied from interface:SpincastConfig
The default name to use for the validation element that will be available on the response's model whenForm
elements are added.- Specified by:
getValidationElementDefaultName
in interfaceSpincastConfig
-
getDictionaryEntryNotFoundBehavior
Description copied from interface:SpincastConfig
If a dictionary key is not found, how must Spincast react?Note that if the key is not found for the current Locale, Spincast will first check if it exists for the fallback Locale (the empty Locale).
By default, in debug mode an exception is thrown. Otherwise, an empty string is returned but an error is logged.
- Specified by:
getDictionaryEntryNotFoundBehavior
in interfaceSpincastConfig
-