/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.analytics.model.volatility.cube.fitted; import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; import com.opengamma.util.ArgumentChecker; import com.opengamma.util.time.Tenor; import com.opengamma.util.tuple.FirstThenSecondPairComparator; import com.opengamma.util.tuple.Pair; /** * */ public class FittedSmileDataPoints { private static final FirstThenSecondPairComparator<Tenor, Tenor> COMPARATOR = new FirstThenSecondPairComparator<>(); private final SortedMap<Pair<Tenor, Tenor>, Double[]> _fittedPoints; public FittedSmileDataPoints(final Map<Pair<Tenor, Tenor>, Double[]> fittedPoints) { ArgumentChecker.notNull(fittedPoints, "fitted pointed"); _fittedPoints = new TreeMap<>(COMPARATOR); _fittedPoints.putAll(fittedPoints); } public SortedMap<Pair<Tenor, Tenor>, Double[]> getFittedPoints() { return _fittedPoints; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + _fittedPoints.hashCode(); return result; } @Override public boolean equals(final Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } return true; } }