package org.marketcetera.photon.views;
import org.marketcetera.photon.commons.databinding.ITypedObservableValue;
import org.marketcetera.photon.ui.databinding.FutureObservable;
import org.marketcetera.trade.FutureExpirationMonth;
import org.marketcetera.trade.Instrument;
import org.marketcetera.util.misc.ClassVersion;
/* $License$ */
/**
* The model for a future order ticket.
*
* @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a>
* @version $Id: FutureOrderTicketModel.java 16154 2012-07-14 16:34:05Z colin $
* @since 2.1.0
*/
@ClassVersion("$Id")
public class FutureOrderTicketModel
extends OrderTicketModel
{
/**
* Create a new FutureOrderTicketModel instance.
*/
public FutureOrderTicketModel()
{
ITypedObservableValue<Instrument> instrument = getOrderObservable().observeInstrument();
FutureObservable futureObservable = new FutureObservable(instrument);
mSymbol = futureObservable.observeSymbol();
mExpirationMonth = futureObservable.observeExpirationMonth();
mExpirationYear = futureObservable.observeExpirationYear();
}
/* (non-Javadoc)
* @see org.marketcetera.photon.views.OrderTicketModel#getSymbol()
*/
@Override
public ITypedObservableValue<String> getSymbol()
{
return mSymbol;
}
/**
* Gets an <code>ITypedObservableValue</code> that tracks the expiration month of the current order.
*
* @return an <code>ITypedObservableValue<FutureExpirationMonth></code> value
*/
public ITypedObservableValue<FutureExpirationMonth> getFutureExpirationMonth()
{
return mExpirationMonth;
}
/**
* Gets an <code>ITypedObservalbleValue</code> that tracks the expiration year of the current order.
*
* @return an <code>ITypedObservableValue<String></code> value
*/
public ITypedObservableValue<String> getFutureExpirationYear()
{
return mExpirationYear;
}
/**
* the symbol of the current order
*/
private final ITypedObservableValue<String> mSymbol;
/**
* the expiration month of the current order
*/
private final ITypedObservableValue<FutureExpirationMonth> mExpirationMonth;
/**
* the expiration year of the current order
*/
private final ITypedObservableValue<String> mExpirationYear;
}