/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.analytics.financial.sensitivity;
import java.util.List;
import org.apache.commons.lang.Validate;
import com.opengamma.analytics.financial.greeks.Underlying;
import com.opengamma.analytics.financial.pnl.UnderlyingType;
/**
*
*/
public class ValueGreekSensitivity implements Sensitivity<ValueGreek> {
private final ValueGreek _valueGreek;
private final String _identifier;
public ValueGreekSensitivity(final ValueGreek valueGreek, final String identifier) {
Validate.notNull(valueGreek, "ValueGreek");
Validate.notNull(identifier, "identifier");
_valueGreek = valueGreek;
_identifier = identifier;
}
@Override
public String getIdentifier() {
return _identifier;
}
@Override
public ValueGreek getSensitivity() {
return _valueGreek;
}
@Override
public int getOrder() {
return _valueGreek.getUnderlyingGreek().getUnderlying().getOrder();
}
@Override
public List<UnderlyingType> getUnderlyingTypes() {
return _valueGreek.getUnderlyingGreek().getUnderlying().getUnderlyings();
}
@Override
public Underlying getUnderlying() {
return _valueGreek.getUnderlyingGreek().getUnderlying();
}
@Override
public String toString() {
return "[" + _valueGreek.toString() + ", " + _identifier + "]";
}
// hashCode() and equals() deliberately not overridden
}