org.appng.api

## Class Platform.Property

- java.lang.Object
- - org.appng.api.Platform.Property

- Enclosing class:
    Platform

      public final class Platform.Property
      extends Object

  Constants used for the global platform-configuration. Those get wrapped into a `Properties`-object and can be accessed via the `Environment` as follows:

       org.appng.api.model.Properties platformConfig = environment.getAttribute(Scope.PLATFORM,
                      Platform.Environment.PLATFORM_CONFIG);
       String platformRootPath = platformConfig.getString(Platform.Property.PLATFORM_ROOT_PATH);

  Note: A `Application` can only access the `Scope.PLATFORM` if it's a privileged application, i.e. `Application.isPrivileged()` returns `true`.
  Author:
    Matthias Müller

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `APPLICATION_CACHE_FOLDER` The folder for the application-cache, relative to `CACHE_FOLDER`.
    `static String` | `APPLICATION_DIR` The folder used for installing file-based-applications, relative to the webapp-root
    `static String` | `APPNG_DATA` The absolute path to the data directory
    `static String` | `CACHE_CONFIG` The global configuration for configuring caching.
    `static String` | `CACHE_FOLDER` The cache folder, relative to WEB-INF.
    `static String` | `CLEAN_TEMP_FOLDER_ON_STARTUP` If set to `true`, the temp folder (defined by the system property `java.io.tmpdir`) is cleaned on a platform startup.
    `static String` | `CONSTRAINTS_AS_RULE` Whether validation constraints should be added as a `Rule` to the `FieldDef`s `Validation`
    `static String` | `CSRF_FILTER_ENABLED` Set to `true` to enable a filter preventing CSRF-attacks
    `static String` | `DATABASE_PREFIX` The prefix to use when generating database names
    `static String` | `DATABASE_VALIDATION_PERIOD` The idle database connection test period in minutes.
    `static String` | `DEFAULT_TEMPLATE` The name of the default template to use (must be a folder located under `TEMPLATE_FOLDER`)
    `static String` | `DEV_MODE` Disable for production use.
    `static String` | `ENCODING` The charset/encoding used for http-responses.
    `static String` | `FILEBASED_DEPLOYMENT` Set to 'true' if applications should be deployed to the local filesystem, 'false' otherwise.
    `static String` | `FORCE_CHANGE_PASSWORD` Should users be forced to change their password if it hasn't changed for more than `PASSWORD_MAX_VALIDITY` days?
    `static String` | `FORMAT_OUTPUT` Disable for production use.
    `static String` | `HEART_BEAT_INTERVAL` The interval in which the heartbeat is sent (seconds)
    `static String` | `IMAGE_CACHE_FOLDER` The folder used for caching images, within the `APPLICATION_CACHE_FOLDER`
    `static String` | `IMAGEMAGICK_PATH` The path to the ImageMagick executables
    `static String` | `INACTIVE_LOCK_PERIOD` The number of days after a `Subject` get's locked if the user did not log in.
    `static String` | `JSP_FILE_TYPE` The file-extension for JSP-files.
    `static String` | `KEYCLOAK_GROUP_CLAIM_NAME` The 'Token Claim Name' configured in the 'User Client Role'-mapper of the Keycloak client
    `static String` | `KEYCLOAK_GROUP_PREFIX` The 'Client Role prefix' configured in the 'User Client Role'-mapper of the Keycloak client
    `static String` | `KEYCLOAK_SECURITY_ROLE` The role configured in the Keycloak client, used as a security-role in web.xml
    `static String` | `LOCALE` The default `Locale`.
    `static String` | `LOGFILE` The name of the logfile generated by appNG
    `static String` | `MAIL_DISABLED` Set to 'true' to disable mailing and log the e-mails instead.
    `static String` | `MAIL_HOST` The mail-host to use
    `static String` | `MAIL_PORT` The mail-port to use
    `static String` | `MAINTENANCE_SCREEN` A multilined property containing a maintenance screen
    `static String` | `MANAGE_DATABASES` If set to 'true', appNG will manage the databases (create schemas and users) required by the `Application`s.
    `static String` | `MAX_LOGIN_ATTEMPTS` The maximum number of failed login attempts before a `Subject` gets locked.
    `static String` | `MAX_UPLOAD_SIZE` The maximum size for file uploads in bytes
    `static String` | `MAX_WAIT_TIME` The overall maximum time to wait for a `Site` to become available/to finish its requests (milliseconds).
    `static String` | `MDC_ENABLED` set to `true` to enable support for Mapped Diagnostic Context (MDC) Logging.
    `static String` | `MESSAGING_ENABLED` Set to true to enable cluster messaging
    `static String` | `MESSAGING_GROUP_ADDRESS` The multicast address used for messaging
    `static String` | `MESSAGING_GROUP_PORT` The port used for multicast messaging
    `static String` | `MESSAGING_RECEIVER` Class name of the desired messaging Receiver implementation.
    `static String` | `MONITOR_PERFORMANCE` Set to true to enable performance monitoring for the target XML
    `static String` | `MONITORING_PATH` The path to appNG's health monitoring
    `static String` | `PARALLEL_SITE_STARTS` Start sites in parallel `true|false` ?
    `static String` | `PASSWORD_MAX_VALIDITY` The maximum number of days a password is valid, where -1 means forever
    `static String` | `PASSWORD_POLICY` The fully qualified name of the `PasswordPolicy` to use.
    `static String` | `PASSWORD_POLICY_ERROR_MSSG_KEY` The resource-bundle key (for messages-core) for the message which is being displayed when the password does not match the policy.
    `static String` | `PASSWORD_POLICY_REGEX` A regular expression describing the password-policy
    `static String` | `PLATFORM_CACHE_FOLDER` The folder for the platform-cache, relative to `CACHE_FOLDER`.
    `static String` | `PLATFORM_ROOT_PATH` The absolute root-path of the platform
    `static String` | `REPOSITORY_CERT` The certificate to use when verifying a signed remote repository (PEM format)
    `static String` | `REPOSITORY_DEFAULT_DIGEST` The default digest for a published local application repository
    `static String` | `REPOSITORY_PATH` The folder used for the repositories of the site, relative to the webapp-root
    `static String` | `REPOSITORY_SIGNATURE` The private key to use when signing a local published repository (PEM format)
    `static String` | `REPOSITORY_TRUST_STORE_PASSWORD` The truststore's password
    `static String` | `REPOSITORY_TRUSTSTORE` The truststore used when verifying a signed remote repository, using `file://`-protocol.
    `static String` | `REPOSITORY_VERIFY_SIGNATURE` When set to `true`, signed remote repositories are validated against the configured (or default) truststore.
    `static String` | `SESSION_FILTER` The regular expressions to match against the user-agent header for immediate discard of the session.
    `static String` | `SESSION_TIMEOUT` The timeout for a user session in seconds
    `static String` | `SHARED_SECRET` The shared secret used for digest authentication
    `static String` | `SITE_RELOAD_DELAY` The offset in seconds before reloading a site (node specific)
    `static String` | `TEMPLATE_FOLDER` The folder used for templates, relative to the webapp-root
    `static String` | `TEMPLATE_PREFIX` The path under which the resources of the active template are beeing served.
    `static String` | `TIME_ZONE` The default `TimeZone`.
    `static String` | `UPLOAD_DIR` The folder for saving uploads, relative to the webapp-root
    `static String` | `VHOST_MODE` Defines whether the server is identified by its IP ('IP_BASED') or by its name ('NAME_BASED')
    `static String` | `WAIT_ON_SITE_SHUTDOWN` When set to `true`, appNG waits until a `Site` has finished processing its requests before shutting it down.
    `static String` | `WAIT_TIME` The time to wait (in a single waiting loop) for a `Site` to become available/to finish its requests (milliseconds).
    `static String` | `WRITE_DEBUG_FILES` When set to `true`, the XML, XSLT and potential Exceptions occurring on a request to the appNG manager GUI are written to `<platformRootPath>/debug`
    `static String` | `XSS_ALLOWED_TAGS` A list of allowed HTML Tags, separated by '|', optionally followed by a space-separated list of allowed attributes. Example:
    `static String` | `XSS_PROTECT` Set to `true` to enable XSS protection

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Property()`

  - ### Method Summary

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### PLATFORM_ROOT_PATH

          public static final String PLATFORM_ROOT_PATH

      The absolute root-path of the platform
      See Also:
        Constant Field Values

    - #### APPNG_DATA

          public static final String APPNG_DATA

      The absolute path to the data directory
      See Also:
        Constant Field Values

    - #### APPLICATION_CACHE_FOLDER

          public static final String APPLICATION_CACHE_FOLDER

      The folder for the application-cache, relative to `CACHE_FOLDER`. Applications might use this folder to cache temporary data.
      See Also:
        Constant Field Values

    - #### CACHE_FOLDER

          public static final String CACHE_FOLDER

      The cache folder, relative to WEB-INF. Contains the `PLATFORM_CACHE_FOLDER` and the `APPLICATION_CACHE_FOLDER`.
      See Also:
        Constant Field Values

    - #### CLEAN_TEMP_FOLDER_ON_STARTUP

          public static final String CLEAN_TEMP_FOLDER_ON_STARTUP

      If set to `true`, the temp folder (defined by the system property `java.io.tmpdir`) is cleaned on a platform startup. WARNING: Only set to `true` if appNG was started with a custom value (e.g. `-Djava.io.tmpdir=/appng-temp`).
      See Also:
        Constant Field Values

    - #### CONSTRAINTS_AS_RULE

          public static final String CONSTRAINTS_AS_RULE

      Whether validation constraints should be added as a `Rule` to the `FieldDef`s `Validation`
      See Also:
        Constant Field Values

    - #### CACHE_CONFIG

          public static final String CACHE_CONFIG

      The global configuration for configuring caching. This property either contains the platform-relative path to a config file (e.g. `WEB-INF/conf/hazelcast.xml`) or the XML configuration itself in XML format (stored as multiline value).
      See Also:
        Constant Field Values

    - #### CSRF_FILTER_ENABLED

          public static final String CSRF_FILTER_ENABLED

      Set to `true` to enable a filter preventing CSRF-attacks
      See Also:
        Constant Field Values

    - #### DATABASE_PREFIX

          public static final String DATABASE_PREFIX

      The prefix to use when generating database names
      See Also:
        Constant Field Values

    - #### DATABASE_VALIDATION_PERIOD

          public static final String DATABASE_VALIDATION_PERIOD

      The idle database connection test period in minutes. If a database connection remains idle for the specified time, the validation query defined in the database connection will be sent to prevent a database connection timeout.
      See Also:
        Constant Field Values

    - #### DEFAULT_TEMPLATE

          public static final String DEFAULT_TEMPLATE

      The name of the default template to use (must be a folder located under `TEMPLATE_FOLDER`)
      See Also:
        Constant Field Values

    - #### DEV_MODE

          public static final String DEV_MODE

      Disable for production use. If enabled, XML and XSL resources will be written to the cache directory. If disabled, XML and XSL resources will be cached in memory.
      See Also:
        Constant Field Values

    - #### ENCODING

          public static final String ENCODING

      The charset/encoding used for http-responses.
      See Also:
        Constant Field Values

    - #### FILEBASED_DEPLOYMENT

          public static final String FILEBASED_DEPLOYMENT

      Set to 'true' if applications should be deployed to the local filesystem, 'false' otherwise.
      See Also:
        Constant Field Values

    - #### FORCE_CHANGE_PASSWORD

          public static final String FORCE_CHANGE_PASSWORD

      Should users be forced to change their password if it hasn't changed for more than `PASSWORD_MAX_VALIDITY` days?
      See Also:
        Constant Field Values

    - #### FORMAT_OUTPUT

          public static final String FORMAT_OUTPUT

      Disable for production use. If enabled, debugging is easier, but Textarea values are formatted wrong.
      See Also:
        Constant Field Values

    - #### HEART_BEAT_INTERVAL

          public static final String HEART_BEAT_INTERVAL

      The interval in which the heartbeat is sent (seconds)
      See Also:
        Constant Field Values

    - #### IMAGE_CACHE_FOLDER

          public static final String IMAGE_CACHE_FOLDER

      The folder used for caching images, within the `APPLICATION_CACHE_FOLDER`
      See Also:
        Constant Field Values

    - #### IMAGEMAGICK_PATH

          public static final String IMAGEMAGICK_PATH

      The path to the ImageMagick executables
      See Also:
        Constant Field Values

    - #### INACTIVE_LOCK_PERIOD

          public static final String INACTIVE_LOCK_PERIOD

      The number of days after a `Subject` get's locked if the user did not log in.
      See Also:
        Constant Field Values

    - #### JSP_FILE_TYPE

          public static final String JSP_FILE_TYPE

      The file-extension for JSP-files.
      See Also:
        Constant Field Values

    - #### LOCALE

          public static final String LOCALE

      The default `Locale`. Use one of `Locale.getAvailableLocales()`
      See Also:
        Constant Field Values

    - #### LOGFILE

          public static final String LOGFILE

      The name of the logfile generated by appNG
      See Also:
        Constant Field Values

    - #### MAIL_DISABLED

          public static final String MAIL_DISABLED

      Set to 'true' to disable mailing and log the e-mails instead.
      See Also:
        Constant Field Values

    - #### MAIL_HOST

          public static final String MAIL_HOST

      The mail-host to use
      See Also:
        Constant Field Values

    - #### MAIL_PORT

          public static final String MAIL_PORT

      The mail-port to use
      See Also:
        Constant Field Values

    - #### MANAGE_DATABASES

          public static final String MANAGE_DATABASES

      If set to 'true', appNG will manage the databases (create schemas and users) required by the `Application`s.
      See Also:
        Constant Field Values

    - #### MAINTENANCE_SCREEN

          public static final String MAINTENANCE_SCREEN

      A multilined property containing a maintenance screen
      See Also:
        Constant Field Values

    - #### MDC_ENABLED

          public static final String MDC_ENABLED

      set to `true` to enable support for Mapped Diagnostic Context (MDC) Logging.
      See Also:
        Constant Field Values

    - #### MESSAGING_ENABLED

          public static final String MESSAGING_ENABLED

      Set to true to enable cluster messaging
      See Also:
        Constant Field Values

    - #### MESSAGING_RECEIVER

          public static final String MESSAGING_RECEIVER

      Class name of the desired messaging Receiver implementation.
      See Also:
        Constant Field Values

    - #### MESSAGING_GROUP_ADDRESS

          public static final String MESSAGING_GROUP_ADDRESS

      The multicast address used for messaging
      See Also:
        Constant Field Values

    - #### MESSAGING_GROUP_PORT

          public static final String MESSAGING_GROUP_PORT

      The port used for multicast messaging
      See Also:
        Constant Field Values

    - #### MAX_UPLOAD_SIZE

          public static final String MAX_UPLOAD_SIZE

      The maximum size for file uploads in bytes
      See Also:
        Constant Field Values

    - #### MONITOR_PERFORMANCE

          public static final String MONITOR_PERFORMANCE

      Set to true to enable performance monitoring for the target XML
      See Also:
        Constant Field Values

    - #### PARALLEL_SITE_STARTS

          public static final String PARALLEL_SITE_STARTS

      Start sites in parallel `true|false` ?
      See Also:
        Constant Field Values

    - #### PASSWORD_MAX_VALIDITY

          public static final String PASSWORD_MAX_VALIDITY

      The maximum number of days a password is valid, where -1 means forever
      See Also:
        Constant Field Values

    - #### PASSWORD_POLICY

          public static final String PASSWORD_POLICY

      The fully qualified name of the `PasswordPolicy` to use.
      See Also:
        Constant Field Values

    - #### PASSWORD_POLICY_ERROR_MSSG_KEY

          public static final String PASSWORD_POLICY_ERROR_MSSG_KEY

      The resource-bundle key (for messages-core) for the message which is being displayed when the password does not match the policy.
      See Also:
        Constant Field Values

    - #### PASSWORD_POLICY_REGEX

          public static final String PASSWORD_POLICY_REGEX

      A regular expression describing the password-policy
      See Also:
        Constant Field Values

    - #### PLATFORM_CACHE_FOLDER

          public static final String PLATFORM_CACHE_FOLDER

      The folder for the platform-cache, relative to `CACHE_FOLDER`. The platform cache is used by appNG to cache application resources.
      See Also:
        Constant Field Values

    - #### APPLICATION_DIR

          public static final String APPLICATION_DIR

      The folder used for installing file-based-applications, relative to the webapp-root
      See Also:
        Constant Field Values

    - #### REPOSITORY_PATH

          public static final String REPOSITORY_PATH

      The folder used for the repositories of the site, relative to the webapp-root
      See Also:
        Constant Field Values

    - #### SESSION_TIMEOUT

          public static final String SESSION_TIMEOUT

      The timeout for a user session in seconds
      See Also:
        Constant Field Values

    - #### SHARED_SECRET

          public static final String SHARED_SECRET

      The shared secret used for digest authentication
      See Also:
        Constant Field Values

    - #### SITE_RELOAD_DELAY

          public static final String SITE_RELOAD_DELAY

      The offset in seconds before reloading a site (node specific)
      See Also:
        Constant Field Values

    - #### TEMPLATE_FOLDER

          public static final String TEMPLATE_FOLDER

      The folder used for templates, relative to the webapp-root
      See Also:
        Constant Field Values

    - #### TEMPLATE_PREFIX

          public static final String TEMPLATE_PREFIX

      The path under which the resources of the active template are beeing served.
      See Also:
        Constant Field Values

    - #### TIME_ZONE

          public static final String TIME_ZONE

      The default `TimeZone`. Use one of `TimeZone.getAvailableIDs()`
      See Also:
        Constant Field Values

    - #### UPLOAD_DIR

          public static final String UPLOAD_DIR

      The folder for saving uploads, relative to the webapp-root
      See Also:
        Constant Field Values

    - #### VHOST_MODE

          public static final String VHOST_MODE

      Defines whether the server is identified by its IP ('IP_BASED') or by its name ('NAME_BASED')
      See Also:
        Constant Field Values

    - #### WRITE_DEBUG_FILES

          public static final String WRITE_DEBUG_FILES

      When set to `true`, the XML, XSLT and potential Exceptions occurring on a request to the appNG manager GUI are written to `<platformRootPath>/debug`
      See Also:
        Constant Field Values

    - #### REPOSITORY_DEFAULT_DIGEST

          public static final String REPOSITORY_DEFAULT_DIGEST

      The default digest for a published local application repository
      See Also:
        Constant Field Values

    - #### REPOSITORY_CERT

          public static final String REPOSITORY_CERT

      The certificate to use when verifying a signed remote repository (PEM format)
      See Also:
        Constant Field Values

    - #### REPOSITORY_SIGNATURE

          public static final String REPOSITORY_SIGNATURE

      The private key to use when signing a local published repository (PEM format)
      See Also:
        Constant Field Values

    - #### REPOSITORY_TRUSTSTORE

          public static final String REPOSITORY_TRUSTSTORE

      The truststore used when verifying a signed remote repository, using `file://`-protocol. If empty, the default `$java.home/lib/security/cacerts` is being used.
      See Also:
        Constant Field Values

    - #### REPOSITORY_TRUST_STORE_PASSWORD

          public static final String REPOSITORY_TRUST_STORE_PASSWORD

      The truststore's password
      See Also:
        Constant Field Values

    - #### REPOSITORY_VERIFY_SIGNATURE

          public static final String REPOSITORY_VERIFY_SIGNATURE

      When set to `true`, signed remote repositories are validated against the configured (or default) truststore.
      See Also:
        Constant Field Values

    - #### SESSION_FILTER

          public static final String SESSION_FILTER

      The regular expressions to match against the user-agent header for immediate discard of the session.
      See Also:
        Constant Field Values

    - #### XSS_PROTECT

          public static final String XSS_PROTECT

      Set to `true` to enable XSS protection
      See Also:
        Constant Field Values

    - #### XSS_ALLOWED_TAGS

          public static final String XSS_ALLOWED_TAGS

      A list of allowed HTML Tags, separated by '|', optionally followed by a space-separated list of allowed attributes.
      Example:

           h1|h2|a href class style|div align style

      See Also:
        Constant Field Values

    - #### WAIT_ON_SITE_SHUTDOWN

          public static final String WAIT_ON_SITE_SHUTDOWN

      When set to `true`, appNG waits until a `Site` has finished processing its requests before shutting it down.
      See Also:
        Constant Field Values

    - #### WAIT_TIME

          public static final String WAIT_TIME

      The time to wait (in a single waiting loop) for a `Site` to become available/to finish its requests (milliseconds).
      See Also:
        Constant Field Values

    - #### MAX_WAIT_TIME

          public static final String MAX_WAIT_TIME

      The overall maximum time to wait for a `Site` to become available/to finish its requests (milliseconds).
      See Also:
        Constant Field Values

    - #### KEYCLOAK_GROUP_CLAIM_NAME

          public static final String KEYCLOAK_GROUP_CLAIM_NAME

      The 'Token Claim Name' configured in the 'User Client Role'-mapper of the Keycloak client
      See Also:
        Constant Field Values

    - #### KEYCLOAK_GROUP_PREFIX

          public static final String KEYCLOAK_GROUP_PREFIX

      The 'Client Role prefix' configured in the 'User Client Role'-mapper of the Keycloak client
      See Also:
        Constant Field Values

    - #### KEYCLOAK_SECURITY_ROLE

          public static final String KEYCLOAK_SECURITY_ROLE

      The role configured in the Keycloak client, used as a security-role in web.xml
      See Also:
        Constant Field Values

    - #### MAX_LOGIN_ATTEMPTS

          public static final String MAX_LOGIN_ATTEMPTS

      The maximum number of failed login attempts before a `Subject` gets locked.
      See Also:
        Constant Field Values

    - #### MONITORING_PATH

          public static final String MONITORING_PATH

      The path to appNG's health monitoring
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Property

          public Property()

Copyright © 2011–2023 aiticon GmbH. All rights reserved.