Package com.barchart.feed.ddf.market.provider

Source Code of com.barchart.feed.ddf.market.provider.DDF_Marketplace

package com.barchart.feed.ddf.market.provider;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.barchart.feed.api.consumer.MetadataService;
import com.barchart.feed.api.model.meta.Instrument;
import com.barchart.feed.base.market.api.MarketDo;
import com.barchart.feed.base.market.api.MarketFactory;
import com.barchart.feed.base.provider.MarketplaceBase;
import com.barchart.feed.base.sub.SubscriptionHandler;
import com.barchart.feed.ddf.instrument.provider.DDF_MetadataServiceWrapper;
import com.barchart.feed.ddf.market.api.DDF_MarketProvider;
import com.barchart.feed.ddf.message.api.DDF_MarketBase;
import com.barchart.feed.ddf.message.api.DDF_MessageVisitor;

public class DDF_Marketplace extends MarketplaceBase<DDF_MarketBase> implements
    DDF_MarketProvider {
 
  @SuppressWarnings("unused")
  private static final Logger log = LoggerFactory.getLogger(
      DDF_Marketplace.class);

  protected DDF_Marketplace(
      final MarketFactory factory,
      final MetadataService instLookup,
      final SubscriptionHandler handler) {
    super(factory, instLookup, handler);
  }
 
  private final DDF_MessageVisitor<Void, MarketDo> visitor = new MapperDDF();
 
  public static final DDF_Marketplace newInstance(
      final SubscriptionHandler handler) {
   
    return new DDF_Marketplace(new MarketFactory() {

      @Override
      public MarketDo newMarket(final Instrument instrument) {
        return new VarMarketEntityDDF(instrument);
      }

    }, new DDF_MetadataServiceWrapper(), handler);
   
  }

  @Override
  protected void make(DDF_MarketBase message, MarketDo market) {
    message.accept(visitor, market);
  }

}
TOP

Related Classes of com.barchart.feed.ddf.market.provider.DDF_Marketplace

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.