package org.marketcetera.event.impl; import java.math.BigDecimal; import org.marketcetera.options.ExpirationType; import org.marketcetera.trade.Instrument; import org.marketcetera.util.misc.ClassVersion; /* $License$ */ /** * Indicates that the underlying event builder supports the attributes necessary to build option events. * * @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a> * @version $Id: OptionEventBuilder.java 16154 2012-07-14 16:34:05Z colin $ * @since 2.1.0 */ @ClassVersion("$Id: OptionEventBuilder.java 16154 2012-07-14 16:34:05Z colin $") public interface OptionEventBuilder<B> { /** * Sets the underlyingInstrument value. * * @param inUnderlyingInstrument an <code>Instrument</code> value or <code>null</code> * @return a <code>B</code> value */ public B withUnderlyingInstrument(Instrument inUnderlyingInstrument); /** * Sets the expirationType value. * * @param inExpirationType an <code>ExpirationType</code> value or <code>null</code> * @return a <code>B</code> value */ public B withExpirationType(ExpirationType inExpirationType); /** * Sets the multiplier value. * * @param inMultiplier a <code>BigDecimal</code> value * @return a <code>B</code> value */ public B withMultiplier(BigDecimal inMultiplier); /** * Sets the hasDeliverable value. * * @param inHasDeliverable a <code>boolean</code> value * @return a <code>B</code> value */ public B hasDeliverable(boolean inHasDeliverable); }