![JAR search and dependency download from the Maven repository](/logo.png)
com.netflix.archaius.persisted2.ScopePredicates Maven / Gradle / Ivy
package com.netflix.archaius.persisted2;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import com.netflix.archaius.api.Config;
/**
* Utility class for creating common ScopePredicates
*
* @author elandau
*
*/
public abstract class ScopePredicates {
public static ScopePredicate alwaysTrue() {
return new ScopePredicate() {
@Override
public boolean evaluate(Map> attrs) {
return true;
}
};
}
public static ScopePredicate fromConfig(final Config config) {
final HashMap lookup = new HashMap();
return new AbstractScopePredicate() {
@Override
public String getScope(String key) {
String value = lookup.get(key);
if (value == null) {
value = config.getString(key, "");
lookup.put(key, value.toLowerCase());
}
return value;
}
};
}
public static ScopePredicate fromMap(final Map values) {
final Map lowerCaseValues = new HashMap();
for (Entry entry : values.entrySet()) {
lowerCaseValues.put(entry.getKey(), entry.getValue().toLowerCase());
}
return new AbstractScopePredicate() {
@Override
public String getScope(String key) {
String value = lowerCaseValues.get(key);
return value == null ? "" : value;
}
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy