@Override public PortfolioItemSummary summarize() { // 2Y Buy USD 1mm INDEX / 1.5% : 21Jan18-21Jan20 PeriodicSchedule paymentSchedule = product.getPaymentSchedule(); StringBuilder buf = new StringBuilder(96); buf.append(SummarizerUtils.datePeriod(paymentSchedule.getStartDate(), paymentSchedule.getEndDate())); buf.append(' '); buf.append(product.getBuySell()); buf.append(' '); buf.append(SummarizerUtils.amount(product.getCurrency(), product.getNotional())); buf.append(' '); buf.append(product.getCdsIndexId().getValue()); buf.append(" / "); buf.append(SummarizerUtils.percent(product.getFixedRate())); buf.append(" : "); buf.append(SummarizerUtils.dateRange(paymentSchedule.getStartDate(), paymentSchedule.getEndDate())); return SummarizerUtils.summary(this, ProductType.CDS_INDEX, buf.toString(), product.getCurrency()); }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 244977400: // buySell return ((CdsIndex) bean).getBuySell(); case -464117509: // cdsIndexId return ((CdsIndex) bean).getCdsIndexId(); case 1085098268: // legalEntityIds return ((CdsIndex) bean).getLegalEntityIds(); case 575402001: // currency return ((CdsIndex) bean).getCurrency(); case 1585636160: // notional return ((CdsIndex) bean).getNotional(); case -1499086147: // paymentSchedule return ((CdsIndex) bean).getPaymentSchedule(); case 747425396: // fixedRate return ((CdsIndex) bean).getFixedRate(); case 1905311443: // dayCount return ((CdsIndex) bean).getDayCount(); case -480203780: // paymentOnDefault return ((CdsIndex) bean).getPaymentOnDefault(); case 2103482633: // protectionStart return ((CdsIndex) bean).getProtectionStart(); case 852621746: // stepinDateOffset return ((CdsIndex) bean).getStepinDateOffset(); case 135924714: // settlementDateOffset return ((CdsIndex) bean).getSettlementDateOffset(); } return super.propertyGet(bean, propertyName, quiet); }
public void test_of() { BusinessDayAdjustment bussAdj = BusinessDayAdjustment.of(FOLLOWING, SAT_SUN); PeriodicSchedule expected = PeriodicSchedule.builder() .startDate(START_DATE) .endDate(END_DATE) .businessDayAdjustment(bussAdj) .startDateBusinessDayAdjustment(BusinessDayAdjustment.NONE) .endDateBusinessDayAdjustment(BusinessDayAdjustment.NONE) .frequency(P3M) .rollConvention(RollConventions.NONE) .stubConvention(SMART_INITIAL) .build(); assertEquals(PRODUCT.getPaymentSchedule(), expected); assertEquals(PRODUCT.getBuySell(), BUY); assertEquals(PRODUCT.getCurrency(), USD); assertEquals(PRODUCT.getDayCount(), ACT_360); assertEquals(PRODUCT.getFixedRate(), COUPON); assertEquals(PRODUCT.getCdsIndexId(), INDEX_ID); assertEquals(PRODUCT.getLegalEntityIds(), LEGAL_ENTITIES); assertEquals(PRODUCT.getNotional(), NOTIONAL); assertEquals(PRODUCT.getPaymentOnDefault(), ACCRUED_PREMIUM); assertEquals(PRODUCT.getProtectionStart(), BEGINNING); assertEquals(PRODUCT.getSettlementDateOffset(), SETTLE_DAY_ADJ); assertEquals(PRODUCT.getStepinDateOffset(), STEPIN_DAY_ADJ); CdsIndex test = CdsIndex.of(BUY, INDEX_ID, LEGAL_ENTITIES, USD, NOTIONAL, START_DATE, END_DATE, P3M, SAT_SUN, COUPON); assertEquals(test, PRODUCT); }
assertEquals(test.getCdsIndexId(), INDEX_ID); assertEquals(test.getLegalEntityIds(), LEGAL_ENTITIES); assertEquals(test.getNotional(), NOTIONAL); assertEquals(test.getPaymentOnDefault(), PaymentOnDefault.NONE); assertEquals(test.getProtectionStart(), ProtectionStartOfDay.NONE);
/** * Restricted copy constructor. * @param beanToCopy the bean to copy from, not null */ private Builder(CdsIndex beanToCopy) { this.buySell = beanToCopy.getBuySell(); this.cdsIndexId = beanToCopy.getCdsIndexId(); this.legalEntityIds = beanToCopy.getLegalEntityIds(); this.currency = beanToCopy.getCurrency(); this.notional = beanToCopy.getNotional(); this.paymentSchedule = beanToCopy.getPaymentSchedule(); this.fixedRate = beanToCopy.getFixedRate(); this.dayCount = beanToCopy.getDayCount(); this.paymentOnDefault = beanToCopy.getPaymentOnDefault(); this.protectionStart = beanToCopy.getProtectionStart(); this.stepinDateOffset = beanToCopy.getStepinDateOffset(); this.settlementDateOffset = beanToCopy.getSettlementDateOffset(); }