/**
* Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.integration.marketdata.manipulator.dsl;
import java.util.Set;
import java.util.regex.Pattern;
import com.opengamma.engine.value.ValuePropertyNames;
import com.opengamma.engine.value.ValueRequirementNames;
import com.opengamma.engine.value.ValueSpecification;
import com.opengamma.util.money.Currency;
/**
*
*/
public final class YieldCurveDataSelector extends Selector {
/* package */ YieldCurveDataSelector(Set<String> calcConfigNames,
Set<String> names,
Set<Currency> currencies,
Pattern nameMatchPattern,
Pattern nameLikePattern) {
super(calcConfigNames, names, currencies, nameMatchPattern, nameLikePattern);
}
@Override
boolean matches(ValueSpecification valueSpecification) {
if (!ValueRequirementNames.YIELD_CURVE_DATA.equals(valueSpecification.getValueName())) {
return false;
}
Currency currency = Currency.of(valueSpecification.getTargetSpecification().getUniqueId().getValue());
String curve = valueSpecification.getProperties().getStrictValue(ValuePropertyNames.CURVE);
if (curve == null) {
return false;
}
return matches(curve, currency);
}
}