/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.target.lazy;
import java.util.Map;
import org.threeten.bp.LocalDate;
import org.threeten.bp.OffsetTime;
import com.opengamma.core.position.Counterparty;
import com.opengamma.core.position.Trade;
import com.opengamma.engine.ComputationTargetResolver;
import com.opengamma.engine.ComputationTargetSpecification;
import com.opengamma.util.money.Currency;
/**
* A trade that may not be fully resolved at construction but will appear fully resolved when it is used.
*/
public class LazyTargetResolverTrade extends LazyTargetResolverPositionOrTrade implements Trade {
public LazyTargetResolverTrade(final ComputationTargetResolver.AtVersionCorrection resolver, final ComputationTargetSpecification specification) {
super(resolver, specification);
}
protected Trade getResolved() {
return getResolvedTarget().getTrade();
}
@Override
public Map<String, String> getAttributes() {
return getResolved().getAttributes();
}
@Override
public void setAttributes(Map<String, String> attributes) {
getResolved().setAttributes(attributes);
}
@Override
public void addAttribute(String key, String value) {
getResolved().addAttribute(key, value);
}
@Override
public Counterparty getCounterparty() {
return getResolved().getCounterparty();
}
@Override
public LocalDate getTradeDate() {
return getResolved().getTradeDate();
}
@Override
public OffsetTime getTradeTime() {
return getResolved().getTradeTime();
}
@Override
public Double getPremium() {
return getResolved().getPremium();
}
@Override
public Currency getPremiumCurrency() {
return getResolved().getPremiumCurrency();
}
@Override
public LocalDate getPremiumDate() {
return getResolved().getPremiumDate();
}
@Override
public OffsetTime getPremiumTime() {
return getResolved().getPremiumTime();
}
}