package org.marketcetera.event.impl;
import javax.annotation.concurrent.ThreadSafe;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import org.marketcetera.event.CurrencyEvent;
import org.marketcetera.event.TradeEvent;
import org.marketcetera.event.beans.CurrencyBean;
import org.marketcetera.event.beans.MarketDataBean;
import org.marketcetera.trade.*;
import org.marketcetera.util.misc.ClassVersion;
/* $License$ */
/**
* Provides a Currency implementation of {@link TradeEvent}.
*
*/
@ThreadSafe
@XmlRootElement(name="currencyTrade")
@XmlAccessorType(XmlAccessType.NONE)
@ClassVersion("$Id: CurrencyTradeEventImpl.java")
public class CurrencyTradeEventImpl
extends AbstractTradeEventImpl
implements CurrencyEvent
{
@Override
public Currency getInstrument()
{
return (Currency)super.getInstrument();
}
/* (non-Javadoc)
* @see org.marketcetera.event.CurrencyEvent#getContractSize()
*/
@Override
public int getContractSize()
{
return currency.getContractSize();
}
/* (non-Javadoc)
* @see org.marketcetera.event.CurrencyEvent#getDeliveryType()
*/
@Override
public DeliveryType getDeliveryType()
{
return currency.getDeliveryType();
}
/**
* Create a new CurrencyTradeEventImpl instance.
*
*/
CurrencyTradeEventImpl(MarketDataBean inMarketData,
CurrencyBean inCurrency)
{
super(inMarketData);
currency = inCurrency;
currency.validate();
}
/* (non-Javadoc)
* @see org.marketcetera.event.impl.AbstractQuoteEventImpl#getDescription()
*/
@Override
protected String getDescription()
{
return description;
}
/**
* Create a new CurrencyTradeEventImpl instance.
*
* <p>This constructor is intended to be used by JAXB only.
*/
@SuppressWarnings("unused")
private CurrencyTradeEventImpl()
{
currency = new CurrencyBean();
}
/**
* provides a human-readable description of this event type (does not need to be localized)
*/
private static final String description = "Currency Trade"; //$NON-NLS-1$
/**
* the currency attributes
*/
@XmlElement
private final CurrencyBean currency;
private static final long serialVersionUID = 1L;
}