
public.javadoc.org.spincast.plugins.config.SpincastConfigDefault.html Maven / Gradle / Ivy
Show all versions of spincast-website Show documentation
SpincastConfigDefault (org.spincast:spincast-framework 2.1.1 API)
Package org.spincast.plugins.config
Class SpincastConfigDefault
java.lang.Object
org.spincast.plugins.config.ConfigFinder
org.spincast.plugins.config.SpincastConfigDefault
- All Implemented Interfaces:
SpincastConfig
- Direct Known Subclasses:
AppConfig
, AppConfigDefault
, SpincastConfigTestingDefault
If you extend this class (which is recommended to implement your
configuration), beware that causing circular dependencies is very
easy if you inject more dependencies than SpincastConfigPluginConfig!
Indeed, most components depend on the config components.
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
Fields inherited from class org.spincast.plugins.config.ConfigFinder
configs, logger, rawConfigs
-
Constructor Summary
Constructors
Modifier
Constructor
Description
protected
SpincastConfigDefault(SpincastConfigPluginConfig spincastConfigPluginConfig,
boolean testingMode)
Constructor
-
Method Summary
Modifier and Type
Method
Description
Even 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 user Locale
.
Name of the Cookie to use to
save the id of the user TimeZone
.
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
If addGlobalTemplateVariablesAdderFilter
returns true
, 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 the KeyStore
, for SSL.
The path to the KeyStore
, for SSL.
The "storepass" of the KeyStore
, for SSL.
The type of the KeyStore
, 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
a JsonPath
.
int
int
Gets the maximum number of keys
in a Map that
can be parsed as JsonPaths
to create a
JsonObject
.
final String
The public host
final int
The public port
final 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 when
Form
elements are added.
Will call getSpincastWritableDirPath()
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 to true
on a development environment,
where errors can be publicly displayed, where cache can
be disabled, where class redefinition can be done, etc.
boolean
If true
, Spincast will always try to set a cookie
to validate if cookies are enabled on the client.
boolean
Should HTTP/2
be enabled on the
embedded Server
, 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 is false
.
boolean
Returns true
if the context
has been created for running tests.
boolean
By default, if SpincastConfig.getPublicServerHost()
returns
"localhost"
, SpincastConfig.getEnvironmentName()
is
not "local"
and SpincastConfig.isDevelopmentMode()
is false,
an exception is thrown when the application starts.
boolean
If true
, 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 is local
.
- Specified by:
getEnvironmentName
in interface SpincastConfig
- 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 is 44419
so HTTP
is enabled by default.
- Specified by:
getHttpServerPort
in interface SpincastConfig
- 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 interface SpincastConfig
- Returns:
- the HTTPS port
-
getHttpsKeyStorePath
Description copied from interface: SpincastConfig
The path to the KeyStore
, for SSL. Can be a
classpath path or and absolute path.
The classpath will be checked first.
Only used if getHttpsServerPort()
returns a port > 0.
The default value is null
.
- Specified by:
getHttpsKeyStorePath
in interface SpincastConfig
- Returns:
- the path to the
KeyStore
-
getHttpsKeyStoreType
Description copied from interface: SpincastConfig
The type of the KeyStore
, for SSL.
For example: "JKS".
Only used if getHttpsServerPort()
returns a port > 0.
The default value is null
.
- Specified by:
getHttpsKeyStoreType
in interface SpincastConfig
- Returns:
- the type of the
KeyStore
-
getHttpsKeyStoreStorePass
Description copied from interface: SpincastConfig
The "storepass" of the KeyStore
, for SSL.
Only used if getHttpsServerPort()
returns a port > 0.
The default value is null
.
- Specified by:
getHttpsKeyStoreStorePass
in interface SpincastConfig
- Returns:
- the "storepass" of the
KeyStore
-
getHttpsKeyStoreKeyPass
Description copied from interface: SpincastConfig
The "keypass" of the KeyStore
, for SSL.
Only used if getHttpsServerPort()
returns a port > 0.
The default value is null
.
- Specified by:
getHttpsKeyStoreKeyPass
in interface SpincastConfig
- Returns:
- the "keypass" of the
KeyStore
-
getPublicURI
-
getPublicServerScheme
Three of the rare "final" methods in Spincast!
- Specified by:
getPublicServerScheme
in interface SpincastConfig
-
getPublicServerHost
Description copied from interface: SpincastConfig
The public host
- Specified by:
getPublicServerHost
in interface SpincastConfig
-
getPublicServerPort
public final int getPublicServerPort()
Description copied from interface: SpincastConfig
The public port
- Specified by:
getPublicServerPort
in interface SpincastConfig
-
getPublicUrlBase
You should override this config!!!!
- Specified by:
getPublicUrlBase
in interface SpincastConfig
-
getHostForDefaultPublicServerSchemeHostPort
-
getServerHost
Description copied from interface: SpincastConfig
The host/IP on which the server will listen to.
The default value is 0.0.0.0
.
- Specified by:
getServerHost
in interface SpincastConfig
- Returns:
- the host/IP
-
isDevelopmentMode
public boolean isDevelopmentMode()
Description copied from interface: SpincastConfig
Let this to true
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 interface SpincastConfig
- Returns:
true
if debug mode is enabled.
-
isTestingMode
public boolean isTestingMode()
Description copied from interface: SpincastConfig
Returns true
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 interface SpincastConfig
-
isRoutesCaseSensitive
public boolean isRoutesCaseSensitive()
Description copied from interface: SpincastConfig
Are the URLS case-sensitive or not, during the route matching
process?
The default value is false
.
- Specified by:
isRoutesCaseSensitive
in interface SpincastConfig
- 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 is 104857600
(100MB).
- Specified by:
getServerMaxRequestBodyBytes
in interface SpincastConfig
- Returns:
- the maximum number of bytes
-
isEnableHttp2
public boolean isEnableHttp2()
Description copied from interface: SpincastConfig
Should HTTP/2
be enabled on the
embedded Server
, if its supports it?
Note that Undertow, the default server provided with
Spincast, does support it.
Defaults to true
.
- Specified by:
isEnableHttp2
in interface SpincastConfig
-
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 interface SpincastConfig
- Returns:
- the Content-Types that shouldn't be gzipped.
-
getWritableRootDir
Will call getSpincastWritableDirPath()
to get
the path to use for the writable directory. If this
method returns null
, a directory will be
created under the java.io.tmpdir
directory.
- Specified by:
getWritableRootDir
in interface SpincastConfig
- 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 interface SpincastConfig
-
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 is Locale.US
.
- Specified by:
getDefaultLocale
in interface SpincastConfig
- 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 is UTC
.
- Specified by:
getDefaultTimeZone
in interface SpincastConfig
- 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 is 2
.
- Specified by:
getRouteForwardingMaxNumber
in interface SpincastConfig
- 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 interface SpincastConfig
-
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 interface SpincastConfig
-
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 interface SpincastConfig
-
isWriteToDiskDynamicStaticResource
public boolean isWriteToDiskDynamicStaticResource()
Description copied from interface: SpincastConfig
If true
, 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 interface SpincastConfig
-
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 interface SpincastConfig
-
getDefaultTemplateVariablesFilterPosition
public int getDefaultTemplateVariablesFilterPosition()
Description copied from interface: SpincastConfig
If addGlobalTemplateVariablesAdderFilter
returns true
, then this is the position at
which the filter will be added.
- Specified by:
getDefaultTemplateVariablesFilterPosition
in interface SpincastConfig
-
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 interface SpincastConfig
- Parameters:
isDynamicResource
- if true
, 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 of keys
in a Map that
can be parsed as JsonPaths
to create a
JsonObject
.
This maximum is to prevent malicious user to POST
a very big number of keys
and harm
the server.
- Specified by:
getMaxNumberOfKeysWhenConvertingMapToJsonObject
in interface SpincastConfig
-
getKeyMaxLengthWhenConvertingMapToJsonObject
public int getKeyMaxLengthWhenConvertingMapToJsonObject()
Description copied from interface: SpincastConfig
Gets the maximum length of a key
in a Map that
can be parsed as JsonPaths
using the
create
method.
This maximum is to prevent malicious user to POST
very long and complex keys
and harm
the server.
- Specified by:
getKeyMaxLengthWhenConvertingMapToJsonObject
in interface SpincastConfig
-
getJsonPathArrayIndexMax
public int getJsonPathArrayIndexMax()
Description copied from interface: SpincastConfig
Gets the maximum index of an element of an array, when parsing
a JsonPath
.
- Specified by:
getJsonPathArrayIndexMax
in interface SpincastConfig
-
isValidateLocalhostHost
public boolean isValidateLocalhostHost()
Description copied from interface: SpincastConfig
By default, if SpincastConfig.getPublicServerHost()
returns
"localhost"
, SpincastConfig.getEnvironmentName()
is
not "local"
and SpincastConfig.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 interface SpincastConfig
-
isEnableCookiesValidator
public boolean isEnableCookiesValidator()
Description copied from interface: SpincastConfig
If true
, 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 interface SpincastConfig
-
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 interface SpincastConfig
-
getCookieNameFlashMessage
Description copied from interface: SpincastConfig
Name of the Cookie to to use save a
Flash Message id.
- Specified by:
getCookieNameFlashMessage
in interface SpincastConfig
-
getCookieNameLocale
Description copied from interface: SpincastConfig
Name of the Cookie to use to
save the user Locale
.
The default is "spincast_locale"
- Specified by:
getCookieNameLocale
in interface SpincastConfig
-
getCookieNameTimeZoneId
Description copied from interface: SpincastConfig
Name of the Cookie to use to
save the id of the user TimeZone
.
The default is "spincast_timezone"
- Specified by:
getCookieNameTimeZoneId
in interface SpincastConfig
-
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 interface SpincastConfig
-
getSpincastModelRootVariableName
Description copied from interface: SpincastConfig
Name of the root variables reserved for
Spincast in the response's model.
- Specified by:
getSpincastModelRootVariableName
in interface SpincastConfig
-
getValidationElementDefaultName
Description copied from interface: SpincastConfig
The default name to use for the validation element
that will be available on the response's model when
Form
elements are added.
- Specified by:
getValidationElementDefaultName
in interface SpincastConfig
-
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 interface SpincastConfig