/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.function.blacklist;
import com.opengamma.core.config.ConfigSource;
import com.opengamma.id.UniqueId;
import com.opengamma.util.ArgumentChecker;
/**
* A source of {@link FunctionBlacklistPolicy} definitions backed by a config source.
*/
public class ConfigDBFunctionBlacklistPolicySource implements FunctionBlacklistPolicySource {
private static final String SUFFIX = "_BLACKLIST";
private final ConfigSource _configSource;
public ConfigDBFunctionBlacklistPolicySource(final ConfigSource configSource) {
ArgumentChecker.notNull(configSource, "configSource");
_configSource = configSource;
}
protected ConfigSource getConfigSource() {
return _configSource;
}
@Override
public FunctionBlacklistPolicy getPolicy(final UniqueId uniqueId) {
return getConfigSource().getConfig(FunctionBlacklistPolicy.class, uniqueId);
}
@Override
public FunctionBlacklistPolicy getPolicy(final String name) {
return getConfigSource().getLatestByName(FunctionBlacklistPolicy.class, name + SUFFIX);
}
}