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

la.renzhen.rtpt.config.source.MergeConfigurationSource Maven / Gradle / Ivy

package la.renzhen.rtpt.config.source;

import la.renzhen.rtpt.config.ConfigurationSource;
import la.renzhen.rtpt.config.Reloadable;
import lombok.Data;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 

* * @author haiker * @version 30/05/2018 9:28 PM */ @Data public class MergeConfigurationSource implements ConfigurationSource { List configurationSources; public MergeConfigurationSource(List configurationSources) { this.configurationSources = configurationSources; } @Override public Map loadAll(String environment, String prefix) { return configurationSources.stream().map(s -> s.loadAll(environment, prefix)) .reduce(new HashMap(), (a, b) -> { a.putAll(b); return a; }); } @Override public String get(String environment, String key) { return configurationSources.stream().map(s -> s.get(environment, key)) .filter(s -> s != null).reduce(null, (a, b) -> b); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy