Enum YahooFeedEventTranslator
- java.lang.Object
-
- java.lang.Enum<YahooFeedEventTranslator>
-
- org.marketcetera.marketdata.yahoo.YahooFeedEventTranslator
-
- All Implemented Interfaces:
Serializable,Comparable<YahooFeedEventTranslator>,EventTranslator
@ThreadSafe public enum YahooFeedEventTranslator extends Enum<YahooFeedEventTranslator> implements EventTranslator
Translates events from the Yahoo market data supplier.- Since:
- 2.1.4
- Version:
- $Id$
- Author:
- Colin DuPlantis
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classYahooFeedEventTranslator.QuoteDataHolder class for Quote data (Quote price, Quote size and symbol).private static classYahooFeedEventTranslator.QuoteDataActionHolder class for Quote data and action.
-
Enum Constant Summary
Enum Constants Enum Constant Description INSTANCE
-
Field Summary
Fields Modifier and Type Field Description private static Map<Class<? extends Event>,Comparator<Event>>comparatorscomparators stored by event typeprivate static List<Event>EMPTY_EVENT_LISTempty event listprivate Map<Class<? extends Event>,Event>eventCacheMRU cache of eventsprivate static StringNO_ERRORindicates no errorprivate static Comparator<Event>QUOTE_COMPARATORcomparator used to compare subsequent quote eventsprivate static Comparator<YahooFeedEventTranslator.QuoteData>QUOTE_DATA_COMPARATORcomparator used to compare subsequent quote data.private static Map<String,Map<String,YahooFeedEventTranslator.QuoteData>>quoteDataMapprivate static ThreadLocal<NumberFormat>SHARED_NUMBER_FORMATprivate static Comparator<Event>TRADE_COMPARATORcomparator used to compare subsequent trade events
-
Constructor Summary
Constructors Modifier Constructor Description privateYahooFeedEventTranslator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private <T extends QuoteEvent>
voidaddFutureAttributes(QuoteEventBuilder<T> inBuilder, Instrument inInstrument, Map<YahooField,String> inData)Adds future attributes to the given quote events, if applicable.private <T extends TradeEvent>
voidaddFutureAttributes(TradeEventBuilder<T> inBuilder, Instrument inInstrument, Map<YahooField,String> inData)Adds future attributes to the given trade events, if applicable.private <T extends QuoteEvent>
voidaddOptionAttributes(QuoteEventBuilder<T> inBuilder, Instrument inInstrument, Map<YahooField,String> inData)Adds option attributes to the given quote events, if applicable.private <T extends TradeEvent>
voidaddOptionAttributes(TradeEventBuilder<T> inBuilder, Instrument inInstrument, Map<YahooField,String> inData)Adds option attributes to the given trade events, if applicable.ObjectfromEvent(Event inEvent)private Comparator<Event>getComparator(Event inEvent)Gets the comparator to use for the givenEvent.private Map<String,YahooFeedEventTranslator.QuoteData>getEventQuoteDataMap(String className)private List<Event>getEventsFrom(Map<YahooField,String> inData, String inHandle)Gets all the events it can find from the given data collection.private InstrumentgetInstrumentFrom(String inSymbol)Gets anInstrumentfor the given symbol.private YahooFeedEventTranslator.QuoteDataActiongetQuoteDataAction(String inSymbol, String inPrice, String inSize, Map<String,YahooFeedEventTranslator.QuoteData> quoteDataEventMap, String handle)Gets the Quote data (price, size).private voidlookForAskEvent(Map<YahooField,String> inData, List<Event> inEvents, String inHandle)Looks for ask events in the given data.private voidlookForBidEvent(Map<YahooField,String> inData, List<Event> inEvents, String inHandle)Looks for bid events in the given data.private voidlookForDividendEvent(Map<YahooField,String> inData, List<Event> inEvents)Determines if aDividendEventcan be found in the given data.private <T extends QuoteEvent>
voidlookForQuoteEvent(Map<YahooField,String> inData, List<Event> inEvents, String inPrice, String inSize, String inSymbol, Instrument inInstrument, QuoteEventBuilder<T> inBuilder, Map<String,YahooFeedEventTranslator.QuoteData> quoteDataEventMap, String handle)Determines if aQuoteEventcan be found in the given data.private voidlookForTradeEvent(Map<YahooField,String> inData, List<Event> inEvents)Looks for trade events in the given data.private booleanshouldSendEvent(Event inEvent)Determines if the given event should be sent to the client or not.List<Event>toEvent(Object inData, String inHandle)static YahooFeedEventTranslatorvalueOf(String name)Returns the enum constant of this type with the specified name.static YahooFeedEventTranslator[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
INSTANCE
public static final YahooFeedEventTranslator INSTANCE
-
-
Field Detail
-
SHARED_NUMBER_FORMAT
private static final ThreadLocal<NumberFormat> SHARED_NUMBER_FORMAT
-
TRADE_COMPARATOR
private static final Comparator<Event> TRADE_COMPARATOR
comparator used to compare subsequent trade events
-
QUOTE_COMPARATOR
private static final Comparator<Event> QUOTE_COMPARATOR
comparator used to compare subsequent quote events
-
QUOTE_DATA_COMPARATOR
private static final Comparator<YahooFeedEventTranslator.QuoteData> QUOTE_DATA_COMPARATOR
comparator used to compare subsequent quote data.
-
quoteDataMap
private static final Map<String,Map<String,YahooFeedEventTranslator.QuoteData>> quoteDataMap
-
comparators
private static final Map<Class<? extends Event>,Comparator<Event>> comparators
comparators stored by event type
-
NO_ERROR
private static final String NO_ERROR
indicates no error- See Also:
- Constant Field Values
-
-
Method Detail
-
values
public static YahooFeedEventTranslator[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (YahooFeedEventTranslator c : YahooFeedEventTranslator.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static YahooFeedEventTranslator valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum type has no constant with the specified nameNullPointerException- if the argument is null
-
toEvent
public List<Event> toEvent(Object inData, String inHandle) throws CoreException
- Specified by:
toEventin interfaceEventTranslator- Throws:
CoreException
-
fromEvent
public Object fromEvent(Event inEvent) throws CoreException
- Specified by:
fromEventin interfaceEventTranslator- Throws:
CoreException
-
getEventsFrom
private List<Event> getEventsFrom(Map<YahooField,String> inData, String inHandle)
Gets all the events it can find from the given data collection.- Parameters:
inData- aMap<YahooField,String>valueinHandle-- Returns:
- a
List<Event>value
-
shouldSendEvent
private boolean shouldSendEvent(Event inEvent)
Determines if the given event should be sent to the client or not.This method requires external synchronization.
- Parameters:
inEvent- anEventvalue- Returns:
- a
booleanvalue
-
getComparator
private Comparator<Event> getComparator(Event inEvent)
Gets the comparator to use for the givenEvent.This method requires external synchronization.
- Parameters:
inEvent- anEventvalue- Returns:
- a
Comparator<Event>value
-
lookForDividendEvent
private void lookForDividendEvent(Map<YahooField,String> inData, List<Event> inEvents)
Determines if aDividendEventcan be found in the given data.- Parameters:
inData- aMap<YahooField,String>valueinEvents- aList<Event>value
-
getQuoteDataAction
private YahooFeedEventTranslator.QuoteDataAction getQuoteDataAction(String inSymbol, String inPrice, String inSize, Map<String,YahooFeedEventTranslator.QuoteData> quoteDataEventMap, String handle)
Gets the Quote data (price, size). Checks if the quote data is from a new response / subsequent response by checking the cache for the particular event (bid / ask). Returns the QuoteDataAction (quote details and the new action to perform for the response).- Parameters:
inSymbol- aStringvalueinPrice- aStringvalueinSize- aStringvaluequoteDataEventMap- aMap<String,QuoteData>valuehandle- aStringvalue- Returns:
- a
QuoteDataActionvalue
-
lookForQuoteEvent
private <T extends QuoteEvent> void lookForQuoteEvent(Map<YahooField,String> inData, List<Event> inEvents, String inPrice, String inSize, String inSymbol, Instrument inInstrument, QuoteEventBuilder<T> inBuilder, Map<String,YahooFeedEventTranslator.QuoteData> quoteDataEventMap, String handle)
Determines if aQuoteEventcan be found in the given data.- Parameters:
inData- aMap<YahooField,String>valueinEvents- aList<Event>valueinPrice- aStringvalueinSize- aStringvalueinSymbol- aStringvalueinInstrument- anInstrumentvalueinBuilder- aQuoteEventBuilder<T>value
-
getEventQuoteDataMap
private Map<String,YahooFeedEventTranslator.QuoteData> getEventQuoteDataMap(String className)
-
lookForBidEvent
private void lookForBidEvent(Map<YahooField,String> inData, List<Event> inEvents, String inHandle)
Looks for bid events in the given data.- Parameters:
inData- aMap<YahooField,String>valueinEvents- aList<Event>valueinHandle-
-
lookForAskEvent
private void lookForAskEvent(Map<YahooField,String> inData, List<Event> inEvents, String inHandle)
Looks for ask events in the given data.- Parameters:
inData- aMap<YahooField,String>valueinEvents- aList<Event>value
-
lookForTradeEvent
private void lookForTradeEvent(Map<YahooField,String> inData, List<Event> inEvents)
Looks for trade events in the given data.- Parameters:
inData- aMap<YahooField,String>valueinEvents- aList<Event>value
-
addFutureAttributes
private <T extends TradeEvent> void addFutureAttributes(TradeEventBuilder<T> inBuilder, Instrument inInstrument, Map<YahooField,String> inData)
Adds future attributes to the given trade events, if applicable.- Parameters:
inBuilder- aTradeEventBuilder<T>valueinInstrument- anInstrumentvalueinData- aMap<YahooField,String>value
-
addOptionAttributes
private <T extends TradeEvent> void addOptionAttributes(TradeEventBuilder<T> inBuilder, Instrument inInstrument, Map<YahooField,String> inData)
Adds option attributes to the given trade events, if applicable.- Parameters:
inBuilder- aTradeEventBuilder<T>valueinInstrument- anInstrumentvalueinData- aMap<YahooField,String>value
-
addFutureAttributes
private <T extends QuoteEvent> void addFutureAttributes(QuoteEventBuilder<T> inBuilder, Instrument inInstrument, Map<YahooField,String> inData)
Adds future attributes to the given quote events, if applicable.- Parameters:
inBuilder- aTradeEventBuilder<T>valueinInstrument- anInstrumentvalueinData- aMap<YahooField,String>value
-
addOptionAttributes
private <T extends QuoteEvent> void addOptionAttributes(QuoteEventBuilder<T> inBuilder, Instrument inInstrument, Map<YahooField,String> inData)
Adds option attributes to the given quote events, if applicable.- Parameters:
inBuilder- aTradeEventBuilder<T>valueinInstrument- anInstrumentvalueinData- aMap<YahooField,String>value
-
getInstrumentFrom
private Instrument getInstrumentFrom(String inSymbol)
Gets anInstrumentfor the given symbol.- Parameters:
inSymbol- aStringvalue- Returns:
- an
Instrumentvalue
-
-