/** * Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.market.sensitivity; import java.util.function.DoubleUnaryOperator; import com.opengamma.strata.basics.currency.Currency; import com.opengamma.strata.collect.ArgChecker; /** * An empty implementation of the point sensitivity builder, used where there is no sensitivity. */ final class NoPointSensitivity implements PointSensitivityBuilder { /** * Singleton instance. */ static final PointSensitivityBuilder INSTANCE = new NoPointSensitivity(); /** * Restricted constructor. */ private NoPointSensitivity() { } //------------------------------------------------------------------------- @Override public PointSensitivityBuilder withCurrency(Currency currency) { return this; } @Override public PointSensitivityBuilder mapSensitivity(DoubleUnaryOperator operator) { return this; } @Override public PointSensitivityBuilder combinedWith(PointSensitivityBuilder other) { return ArgChecker.notNull(other, "other"); } @Override public NoPointSensitivity normalize() { return this; } @Override public MutablePointSensitivities buildInto(MutablePointSensitivities combination) { return combination; } @Override public NoPointSensitivity cloned() { return this; } @Override public String toString() { return "NoPointSensitivity"; } }