/** * Restricted copy constructor. * @param beanToCopy the bean to copy from, not null */ private Builder(FxSwapTemplate beanToCopy) { this.periodToNear = beanToCopy.getPeriodToNear(); this.periodToFar = beanToCopy.getPeriodToFar(); this.convention = beanToCopy.getConvention(); }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case -18701724: // periodToNear return ((FxSwapTemplate) bean).getPeriodToNear(); case -970442405: // periodToFar return ((FxSwapTemplate) bean).getPeriodToFar(); case 2039569265: // convention return ((FxSwapTemplate) bean).getConvention(); } return super.propertyGet(bean, propertyName, quiet); }
public void test_of_far() { FxSwapTemplate test = FxSwapTemplate.of(FAR_PERIOD, CONVENTION); assertEquals(test.getPeriodToNear(), Period.ZERO); assertEquals(test.getPeriodToFar(), FAR_PERIOD); assertEquals(test.getConvention(), CONVENTION); assertEquals(test.getCurrencyPair(), EUR_USD); }
@Override public DatedParameterMetadata metadata(LocalDate valuationDate, ReferenceData refData) { LocalDate nodeDate = date(valuationDate, refData); if (date.isFixed()) { return LabelDateParameterMetadata.of(nodeDate, label); } Tenor tenor = Tenor.of(template.getPeriodToFar()); return TenorDateParameterMetadata.of(nodeDate, tenor, label); }
public void test_of_near_far() { FxSwapTemplate test = FxSwapTemplate.of(NEAR_PERIOD, FAR_PERIOD, CONVENTION); assertEquals(test.getPeriodToNear(), NEAR_PERIOD); assertEquals(test.getPeriodToFar(), FAR_PERIOD); assertEquals(test.getConvention(), CONVENTION); assertEquals(test.getCurrencyPair(), EUR_USD); }
@ImmutablePreBuild private static void preBuild(Builder builder) { if (builder.template != null) { if (builder.label == null) { builder.label = Tenor.of(builder.template.getPeriodToFar()).toString(); } if (builder.fxRateId == null) { builder.fxRateId = FxRateId.of(builder.template.getCurrencyPair()); } else { ArgChecker.isTrue( builder.fxRateId.getPair().toConventional().equals(builder.template.getCurrencyPair().toConventional()), "FxRateId currency pair '{}' must match that of the template '{}'", builder.fxRateId.getPair(), builder.template.getCurrencyPair()); } } }