/**
* 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 java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import com.opengamma.id.UniqueId;
/**
* A source of {@link FunctionBlacklistPolicy} definitions backed by a map.
*/
public class InMemoryFunctionBlacklistPolicySource implements FunctionBlacklistPolicySource {
private final Map<String, FunctionBlacklistPolicy> _policiesByName = new ConcurrentHashMap<String, FunctionBlacklistPolicy>();
private final Map<UniqueId, FunctionBlacklistPolicy> _policiesByUniqueId = new ConcurrentHashMap<UniqueId, FunctionBlacklistPolicy>();
public void addPolicy(final FunctionBlacklistPolicy policy) {
_policiesByName.put(policy.getName(), policy);
_policiesByUniqueId.put(policy.getUniqueId(), policy);
}
@Override
public FunctionBlacklistPolicy getPolicy(final UniqueId uniqueId) {
return _policiesByUniqueId.get(uniqueId);
}
@Override
public FunctionBlacklistPolicy getPolicy(final String name) {
return _policiesByName.get(name);
}
}