Class ServerConfigEnvProps

  • All Implemented Interfaces:
    EventListener, IGProp<GProp<?>[]>, IPropCnr, java.lang.Cloneable
    Direct Known Subclasses:
    EditorServerConfigEnvProps

    public class ServerConfigEnvProps
    extends PropCnr
    This configuration environment defines the configuration setup for the available plug-ins. Several configuration environments may be present in a Server, e.g. "development", "test", "acceptance", "preproduction" and "production".
    • Field Detail

      • ALLOW_PARALLEL_SESSIONS

        public static final java.lang.String ALLOW_PARALLEL_SESSIONS
        Property name: Allow parallel sessions.
        See Also:
        Constant Field Values
      • MAX_CLIENTS_PER_APP_SESSION

        public static final java.lang.String MAX_CLIENTS_PER_APP_SESSION
        Property name: Max client sessions/app session.
        See Also:
        Constant Field Values
      • APP_TIMEOUT

        public static final java.lang.String APP_TIMEOUT
        Property name: App session timeout.
        See Also:
        Constant Field Values
      • CUSTOM_APP_SETTINGS

        public static final java.lang.String CUSTOM_APP_SETTINGS
        Property name: Custom app settings.
        See Also:
        Constant Field Values
      • ALLOWED_DOMAINS

        public static final java.lang.String ALLOWED_DOMAINS
        Property name: Allowed domains.
        See Also:
        Constant Field Values
      • REQUIRE_TLS

        public static final java.lang.String REQUIRE_TLS
        Property name: Require TLS.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ServerConfigEnvProps

        public ServerConfigEnvProps()
        Creates the configuration environment properties without a name. The name must be set in all cases using the setPropertyAtom call.
      • ServerConfigEnvProps

        public ServerConfigEnvProps​(Atom atom)
        Creates the configuration environment properties with an atom manager.
        Parameters:
        atom - The atom.
    • Method Detail

      • clone

        public ServerConfigEnvProps clone()
        Creates a clone out of this property. The cloning is overridden by the subclasses in order to handle cloning of its class variables appropriately.
        Overrides:
        clone in class PropCnr
        Returns:
        A cloned instance.
      • onPropInvalidateCache

        protected void onPropInvalidateCache()
        Invalidates a potential cache in this property. This method is called during a synchronized state of the property.
        Overrides:
        onPropInvalidateCache in class GProp<GProp<?>[]>
      • getDescription

        public java.lang.String getDescription()
        Gets the description of this configuration environment.
        Returns:
        The description, or null for none.
      • getPluginConfigs

        public ServerPluginConfig[] getPluginConfigs()
        Gets the server plug-in configurations in the environment, normally one per plug-in type.
        Returns:
        A cached value.
      • getServerApplicationSetup

        public IServerApplicationSetupPropCnr[] getServerApplicationSetup​(java.lang.String pluginID)
        Gets the configuration setup's for a plug-in with specified ID. Each plug-in may present several configurations, although most commonly a single one.
        Parameters:
        pluginID - The plug-in ID.
        Returns:
        The configuration setup, or null if plug-in configuration is not found. If the plug-in is found but no configurations, an empty array is returned.
      • isUserParallelSessionsAllowed

        public boolean isUserParallelSessionsAllowed()
        Gets the flag indicating if a user is allowed to start multiple parallel sessions or if just one per user and app is allowed (default true).
        Returns:
        The allow flag.
      • getMaxClientsPerAppSession

        public int getMaxClientsPerAppSession()
        Gets the maximum number of clients sessions per app session, zero = no limit.
        Returns:
        The value, default zero.
      • getAppTimeout

        public long getAppTimeout()
        Gets the timeout before an app session is disposed of when no more client sessions are present, default 1 hour.
        Returns:
        The timeout value in milliseconds.
      • getCustomAppValue

        public java.lang.String getCustomAppValue​(java.lang.String key)
        Gets a value for a key in the custom app properties.
        Parameters:
        key - The key or name of the property to retrieve.
        Returns:
        The value, or null if no value is defined for the key, or the custom map is not defined.
      • onAppSessionEndPoint

        public void onAppSessionEndPoint​(EndPointPropCnr cnr,
                                         AppSessionGyro appGyro)
        Called when a new end point property container is added for a server monitor instance. This is delegated to the plug-ins in the application's server environment in order to enable them to add information for the application session.
        Parameters:
        cnr - The container for the end point.
        appGyro - The application session gyro of the end point.
      • getAllowedDomains

        public java.lang.String getAllowedDomains()
        Gets the allowed domains that are allowed access to this environment.
        Returns:
        The domain name as e.g. "hello.example.com", or null if not associated with Let's Encrypt.
      • getAllowedDomainSet

        public java.util.Set<java.lang.String> getAllowedDomainSet()
        Gets the different domain names as String set. The domains names set includes all defined domain names that are configured for this port.
        Returns:
        A new set of domain names.
      • isTLSRequired

        public boolean isTLSRequired()
        Returns if access to this environment requires TLS.
        Returns:
        true if secured, false if HTTP is accepted.
      • isDomainAccessAllowed

        public boolean isDomainAccessAllowed​(java.lang.String domain)
        Checks if a domain is allowed access to this environment.
        Parameters:
        domain - The domain name.
        Returns:
        true for access allowed, false for no access.
      • isDomainAccessAllowed

        public boolean isDomainAccessAllowed​(HttpServletRequest request)
        Checks if a domain is allowed access to this environment.
        Parameters:
        request - The HTTP request.
        Returns:
        true for access allowed, false for no access.