All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.undefinedlabs.scope.settings.ScopeExtProperties Maven / Gradle / Ivy

package com.undefinedlabs.scope.settings;

import org.apache.commons.lang3.StringUtils;

public class ScopeExtProperties {

  private final ScopeEnvironmentProperties environmentProperties;
  private final ScopeConfigFileProperties configFileProperties;
  private final ScopeProfileProperties profileProperties;

  public ScopeExtProperties(
      final ScopeProfileProperties profileProperties,
      final ScopeEnvironmentProperties environmentProperties,
      final ScopeConfigFileProperties configFileProperties) {
    this.profileProperties = profileProperties;
    this.environmentProperties = environmentProperties;
    this.configFileProperties = configFileProperties;
  }

  public String get(final String key) {
    final String profilePropValue = this.profileProperties.getProperty(key);
    final String envValue = this.environmentProperties.getenv(key);
    final String configFileValue =
        this.configFileProperties.getProperty(key) != null
            ? String.valueOf(this.configFileProperties.getProperty(key))
            : null;

    return StringUtils.isNotEmpty(envValue)
        ? envValue
        : StringUtils.isNotEmpty(configFileValue) ? configFileValue : profilePropValue;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy