/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.analytics.curve; import com.opengamma.financial.analytics.ircurve.strips.CashNode; import com.opengamma.financial.analytics.ircurve.strips.ContinuouslyCompoundedRateNode; import com.opengamma.financial.analytics.ircurve.strips.CreditSpreadNode; import com.opengamma.financial.analytics.ircurve.strips.CurveNodeWithExternalIdVisitor; import com.opengamma.financial.analytics.ircurve.strips.DeliverableSwapFutureNode; import com.opengamma.financial.analytics.ircurve.strips.DiscountFactorNode; import com.opengamma.financial.analytics.ircurve.strips.FRANode; import com.opengamma.financial.analytics.ircurve.strips.FXForwardNode; import com.opengamma.financial.analytics.ircurve.strips.RateFutureNode; import com.opengamma.financial.analytics.ircurve.strips.SwapNode; import com.opengamma.financial.analytics.ircurve.strips.ZeroCouponInflationNode; import com.opengamma.id.ExternalId; import com.opengamma.util.ArgumentChecker; /** * Delegate class for curve node visitors * * @param <T> The return type of the visitor. */ public class CurveNodeWithExternalIdVisitorDelegate<T> implements CurveNodeWithExternalIdVisitor<T> { /** The delegate */ private final CurveNodeWithExternalIdVisitor<T> _delegate; /** @param delegate The delegate, not null */ public CurveNodeWithExternalIdVisitorDelegate(final CurveNodeWithExternalIdVisitor<T> delegate) { ArgumentChecker.notNull(delegate, "delegate"); _delegate = delegate; } @Override public T visitCashNode(CashNode node, ExternalId externalId) { return _delegate.visitCashNode(node, externalId); } @Override public T visitContinuouslyCompoundedRateNode(ContinuouslyCompoundedRateNode node, ExternalId externalId) { return _delegate.visitContinuouslyCompoundedRateNode(node, externalId); } @Override public T visitCreditSpreadNode(CreditSpreadNode node, ExternalId externalId) { return _delegate.visitCreditSpreadNode(node, externalId); } @Override public T visitDeliverableSwapFutureNode(DeliverableSwapFutureNode node, ExternalId externalId) { return _delegate.visitDeliverableSwapFutureNode(node, externalId); } @Override public T visitDiscountFactorNode(DiscountFactorNode node, ExternalId externalId) { return _delegate.visitDiscountFactorNode(node, externalId); } @Override public T visitFRANode(FRANode node, ExternalId externalId) { return _delegate.visitFRANode(node, externalId); } @Override public T visitFXForwardNode(FXForwardNode node, ExternalId externalId) { return _delegate.visitFXForwardNode(node, externalId); } @Override public T visitRateFutureNode(RateFutureNode node, ExternalId externalId) { return _delegate.visitRateFutureNode(node, externalId); } @Override public T visitSwapNode(SwapNode node, ExternalId externalId) { return _delegate.visitSwapNode(node, externalId); } @Override public T visitZeroCouponInflationNode(ZeroCouponInflationNode node, ExternalId externalId) { return _delegate.visitZeroCouponInflationNode(node, externalId); } }