Package com.opengamma.financial.security.summary

Source Code of com.opengamma.financial.security.summary.EquityOptionSummaryFactory

/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.financial.security.summary;

import com.opengamma.core.security.SecuritySource;
import com.opengamma.financial.security.equity.EquitySecurity;
import com.opengamma.financial.security.option.EquityOptionSecurity;
import com.opengamma.id.ExternalIdBundle;

/**
* Summary factory for {@link EquityOptionSecurity}.
*/
public class EquityOptionSummaryFactory implements SummaryFactory<EquityOptionSecurity> {

  private final SecuritySource _securitySource;
 
  public EquityOptionSummaryFactory(SecuritySource securitySource) {
    _securitySource = securitySource;
  }
 
  @Override
  public String getSecurityType() {
    return EquityOptionSecurity.SECURITY_TYPE;
  }

  @Override
  public Summary getSummary(EquityOptionSecurity security) {
    EquitySecurity underlyingSecurity = (EquitySecurity) _securitySource.getSingle(ExternalIdBundle.of(security.getUnderlyingId()));
    return SummaryBuilder.create(security)
        .with(SummaryField.DESCRIPTION, underlyingSecurity.getShortName())
        .with(SummaryField.STRIKE, security.getStrike())
        .with(SummaryField.MATURITY, security.getExpiry())
        .with(SummaryField.DIRECTION, security.getOptionType())
        .with(SummaryField.UNDERLYING, security.getUnderlyingId()).build();
  }

}
TOP

Related Classes of com.opengamma.financial.security.summary.EquityOptionSummaryFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.