Class SystemPropertiesFactoryBean

java.lang.Object
org.springframework.core.io.support.PropertiesLoaderSupport
org.springframework.beans.factory.config.PropertiesFactoryBean
org.alfresco.config.SystemPropertiesFactoryBean
All Implemented Interfaces:
org.springframework.beans.factory.FactoryBean<Properties>, org.springframework.beans.factory.InitializingBean
Direct Known Subclasses:
JndiPropertiesFactoryBean

public class SystemPropertiesFactoryBean extends org.springframework.beans.factory.config.PropertiesFactoryBean
Like the parent PropertiesFactoryBean, but overrides or augments the resulting property set with values from VM system properties. As with the Spring PropertyPlaceholderConfigurer the following modes are supported:
  • SYSTEM_PROPERTIES_MODE_NEVER: Don't use system properties at all.
  • SYSTEM_PROPERTIES_MODE_FALLBACK: Fallback to a system property only for undefined properties.
  • SYSTEM_PROPERTIES_MODE_OVERRIDE: (DEFAULT)Use a system property if it is available.
Note that system properties will only be included in the property set if defaults for the property have already been defined using PropertiesLoaderSupport.setProperties(Properties) or PropertiesLoaderSupport.setLocations(org.springframework.core.io.Resource[]) or their names have been included explicitly in the set passed to setSystemProperties(Set).
Author:
Derek Hulley
  • Field Summary

    Fields inherited from class org.springframework.core.io.support.PropertiesLoaderSupport

    localOverride, localProperties, logger

    Fields inherited from interface org.springframework.beans.factory.FactoryBean

    OBJECT_TYPE_ATTRIBUTE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Properties
     
    protected void
    resolveMergedProperty(String systemProperty, Properties props)
    Override hook.
    void
    setSystemProperties(Set<String> systemProperties)
    Set the names of the properties that can be considered for overriding.
    void
    setSystemPropertiesMode(int systemPropertiesMode)
    Set how to check system properties.
    void
    Set the system property mode by the name of the corresponding constant, e.g.

    Methods inherited from class org.springframework.beans.factory.config.PropertiesFactoryBean

    afterPropertiesSet, createProperties, getObject, getObjectType, isSingleton, setSingleton

    Methods inherited from class org.springframework.core.io.support.PropertiesLoaderSupport

    loadProperties, setFileEncoding, setIgnoreResourceNotFound, setLocalOverride, setLocation, setLocations, setProperties, setPropertiesArray, setPropertiesPersister

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SystemPropertiesFactoryBean

      public SystemPropertiesFactoryBean()
  • Method Details

    • setSystemPropertiesModeName

      public void setSystemPropertiesModeName(String constantName) throws IllegalArgumentException
      Set the system property mode by the name of the corresponding constant, e.g. "SYSTEM_PROPERTIES_MODE_OVERRIDE".
      Parameters:
      constantName - name of the constant
      Throws:
      IllegalArgumentException - if an invalid constant was specified
      See Also:
    • setSystemPropertiesMode

      public void setSystemPropertiesMode(int systemPropertiesMode)
      Set how to check system properties.
      See Also:
      • PropertyPlaceholderConfigurer.setSystemPropertiesMode(int)
    • setSystemProperties

      public void setSystemProperties(Set<String> systemProperties)
      Set the names of the properties that can be considered for overriding.
      Parameters:
      systemProperties - a set of properties that can be fetched from the system properties
    • mergeProperties

      protected Properties mergeProperties() throws IOException
      Overrides:
      mergeProperties in class org.springframework.core.io.support.PropertiesLoaderSupport
      Throws:
      IOException
    • resolveMergedProperty

      protected void resolveMergedProperty(String systemProperty, Properties props)
      Override hook. Allows subclasses to resolve a merged property from an alternative source, whilst still respecting the chosen system property fallback path.
      Parameters:
      systemProperty - String
      props - Properties