package org.marketcetera.event; import java.math.BigDecimal; import org.marketcetera.trade.Instrument; import org.marketcetera.util.misc.ClassVersion; /* $License$ */ /** * Represents the set of available statistics of a specific {@link Instrument}. * * <p>The data contained in this event represent the best-effort result of a request * to retrieve available statistics for a specific symbol at a specific time. Some * or all of the attributes may be null if the data was not available. * * @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a> * @version $Id: MarketstatEvent.java 16154 2012-07-14 16:34:05Z colin $ * @since 1.5.0 */ @ClassVersion("$Id: MarketstatEvent.java 16154 2012-07-14 16:34:05Z colin $") public interface MarketstatEvent extends Event, HasInstrument, HasEventType { /** * Gets the value of the {@link Instrument} at the time of market open. * * @return a <code>BigDecimal</code> value or null */ public BigDecimal getOpen(); /** * Gets highest value trade during the current or * most recent session. * * @return a <code>BigDecimal</code> value or null */ public BigDecimal getHigh(); /** * Gets the low trade value of the {@link Instrument} for this market session. * * @return a <code>BigDecimal</code> value or null */ public BigDecimal getLow(); /** * Gets the value of the {@link Instrument} at the time of market close. * * @return a <code>BigDecimal</code> value or null */ public BigDecimal getClose(); /** * Gets the value of the {@link Instrument} at the time of market close * of the previous session. * * @return a <code>BigDecimal</code> value or null */ public BigDecimal getPreviousClose(); /** * Gets the cumulative volume of trades of the {@link Instrument} during * the current or last market session. * * @return a <code>BigDecimal</code> value or null */ public BigDecimal getVolume(); /** * Gets the cumulative value for the session. * * @return a <code>BigDecimal</code> value */ public BigDecimal getValue(); /** * Gets the close date of the most recent session. * * <p>The format of the date returned is dependent on the market data * provider. * * @return a <code>String</code> value */ public String getCloseDate(); /** * Gets the close date of the previous session. * * <p>The format of the date returned is dependent on the market data * provider. * * @return a <code>String</code> value */ public String getPreviousCloseDate(); /** * Gets the time of the highest value trade during the current or * most recent session. * * <p>The format of the time returned is dependent on the market data * provider. * * @return a <code>String</code> value */ public String getTradeHighTime(); /** * Gets the time of the lowest value trade during the current or * most recent session. * * <p>The format of the time returned is dependent on the market data * provider. * * @return a <code>String</code> value */ public String getTradeLowTime(); /** * Gets the exchange on which the open price was reported. * * @return a <code>String</code> value */ public String getOpenExchange(); /** * Gets the exchange on which the trade high price was reported. * * @return a <code>String</code> value */ public String getHighExchange(); /** * Gets the exchange on which the trade low price was reported. * * @return a <code>String</code> value */ public String getLowExchange(); /** * Gets the exchange on which the close price was reported. * * @return a <code>String</code> value */ public String getCloseExchange(); /** * Gets the type of the event. * * @return an <code>EventType</code> value */ public EventType getEventType(); /** * Sets the type of the event. * * @param inEventType an <code>EventType</code> value */ public void setEventType(EventType inEventType); }