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.beans.CurrencyBean; import org.marketcetera.event.beans.ImbalanceBean; import org.marketcetera.trade.Currency; import org.marketcetera.trade.DeliveryType; import org.marketcetera.util.misc.ClassVersion; /* $License$ */ /** * Provides an <code>ImbalanceEvent</code> implementation for a <code>Currency</code> instrument. * * @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a> * @version $Id: CurrencyImbalanceEvent.java 16901 2014-05-11 16:14:11Z colin $ * @since 2.4.0 */ @ThreadSafe @XmlAccessorType(XmlAccessType.NONE) @XmlRootElement(name="currencyImbalance") @ClassVersion("$Id: CurrencyImbalanceEvent.java 16901 2014-05-11 16:14:11Z colin $") public class CurrencyImbalanceEvent extends AbstractImbalanceEvent implements CurrencyEvent { /* (non-Javadoc) * @see org.marketcetera.event.impl.AbstractImbalanceEvent#getInstrument() */ @Override public Currency getInstrument() { return (Currency)super.getInstrument(); } /** * Create a new CurrencyImbalanceEvent instance. * * @param inImbalance * @param inCurrencyBean */ public CurrencyImbalanceEvent(ImbalanceBean inImbalance, CurrencyBean inCurrencyBean) { super(inImbalance); currency = inCurrencyBean; currency.validate(); } /* (non-Javadoc) * @see org.marketcetera.event.CurrencyEvent#getDeliveryType() */ @Override public DeliveryType getDeliveryType() { return currency.getDeliveryType(); } /* (non-Javadoc) * @see org.marketcetera.event.CurrencyEvent#getContractSize() */ @Override public int getContractSize() { return currency.getContractSize(); } /** * Create a new CurrencyImbalanceEvent instance. */ @SuppressWarnings("unused") private CurrencyImbalanceEvent() { currency = new CurrencyBean(); } /** * the currency attributes */ @XmlElement private final CurrencyBean currency; private static final long serialVersionUID = -2972410310519537113L; }