Class ApplicationProperties

java.lang.Object
io.fluxcapacitor.javaclient.configuration.ApplicationProperties

public class ApplicationProperties extends Object
Central utility for resolving configuration properties within a Flux application.

This class delegates to a layered PropertySource, typically obtained from the active FluxCapacitor instance. If no context-bound property source is present, it falls back to a DecryptingPropertySource that wraps the default layered DefaultPropertySource.

Property sources are accessed in a prioritized order:

  1. EnvironmentVariablesSource – highest precedence
  2. SystemPropertiesSource
  3. ApplicationEnvironmentPropertiesSource – e.g. application-dev.properties
  4. ApplicationPropertiesSource – fallback base configuration from application.properties

Property resolution supports typed access, default values, encryption, and template substitution.

Common usage:


 String token = ApplicationProperties.getProperty("FLUX_API_TOKEN");
 boolean featureEnabled = ApplicationProperties.getBooleanProperty("my.feature.enabled", true);
 
See Also:
  • Constructor Details

    • ApplicationProperties

      public ApplicationProperties()
  • Method Details

    • getProperty

      public static String getProperty(String name)
      Returns the raw string property for the given key, or null if not found.
    • getBooleanProperty

      public static boolean getBooleanProperty(String name)
      Resolves a boolean property by key, returning false if not present.

      Accepts case-insensitive "true" as true, otherwise returns false.

    • getBooleanProperty

      public static boolean getBooleanProperty(String name, boolean defaultValue)
      Resolves a boolean property by key, returning a default if the property is not present.
    • getIntegerProperty

      public static Integer getIntegerProperty(String name)
      Resolves an integer property by key, or null if not found.
      Throws:
      NumberFormatException - if the property value is not a valid integer
    • getIntegerProperty

      public static Integer getIntegerProperty(String name, Integer defaultValue)
      Resolves an integer property by key, or returns the given default value if not found.
      Throws:
      NumberFormatException - if the property value is not a valid integer
    • getProperty

      public static String getProperty(String name, String defaultValue)
      Returns the string property value for the given key, or the specified default if not found.
    • requireProperty

      public static String requireProperty(String name)
      Returns the string property for the given key, throwing an IllegalStateException if not found.
    • containsProperty

      public static boolean containsProperty(String name)
      Returns true if a property with the given name exists.
    • substituteProperties

      public static String substituteProperties(String template)
      Substitutes placeholders in the given template using current property values.

      Placeholders use the syntax ${propertyName}.

    • getEncryption

      public static Encryption getEncryption()
      Returns the currently active Encryption instance.

      By default, wraps the encryption from the current PropertySource.

    • encryptValue

      public static String encryptValue(String value)
      Encrypts the given value using the configured Encryption strategy.
    • decryptValue

      public static String decryptValue(String encryptedValue)
      Decrypts the given encrypted value using the configured Encryption strategy.

      Returns the original value if decryption is not applicable.