001package org.kuali.common.util.env.spring; 002 003import java.util.Properties; 004 005import org.kuali.common.util.PropertyUtils; 006import org.kuali.common.util.property.ImmutableProperties; 007import org.springframework.core.env.AbstractEnvironment; 008import org.springframework.core.env.PropertiesPropertySource; 009 010public final class PropertiesEnvironment extends AbstractEnvironment { 011 012 private static final String NAME = "properties"; 013 014 /** 015 * Default environment that uses system properties / environment variables (prefixed with <code>env</code>) 016 */ 017 public PropertiesEnvironment() { 018 this(PropertyUtils.getGlobalProperties()); 019 } 020 021 /** 022 * Create an environment based on <code>properties</code> 023 */ 024 public PropertiesEnvironment(Properties properties) { 025 this.properties = ImmutableProperties.copyOf(properties); 026 super.getPropertySources().addLast(new PropertiesPropertySource(NAME, properties)); 027 } 028 029 private final Properties properties; 030 031 public Properties getProperties() { 032 return properties; 033 } 034 035}