public void handleSnapshotFullRefreshEntries()

in mbp-only/src/main/java/com/epam/cme/mdp3/core/control/InstrumentMdHandler.java [122:192]


    public void handleSnapshotFullRefreshEntries(final MdpFeedContext feedContext, final MdpMessage fullRefreshMsg) {
        if (!this.enabled) return;

        MdpGroup mdpGroupObj = feedContext.getMdpGroupObj();

        fullRefreshMsg.getGroup(268, mdpGroupObj);
        while (mdpGroupObj.hashNext()) {
            mdpGroupObj.next();
            final MDEntryType mdEntryType = MDEntryType.fromFIX(mdpGroupObj.getChar(269));
            switch (mdEntryType) {
                case Bid:
                    if (this.multipleDepthBookHandler != null)
                        this.multipleDepthBookHandler.handleSnapshotBidEntry(mdpGroupObj);
                    break;
                case Offer:
                    if (this.multipleDepthBookHandler != null)
                        this.multipleDepthBookHandler.handleSnapshotOfferEntry(mdpGroupObj);
                    break;
                case Trade:
                    if (this.tradeHandler != null) this.tradeHandler.updateTradeSummary(mdpGroupObj);
                    break;
                case OpeningPrice:
                    if (this.statisticsHandler != null) this.statisticsHandler.updateOpeningPrice(mdpGroupObj);
                    break;
                case SettlementPrice:
                    if (this.statisticsHandler != null) this.statisticsHandler.updateSettlementPrice(mdpGroupObj);
                    break;
                case TradingSessionHighPrice:
                    if (this.statisticsHandler != null)
                        this.statisticsHandler.updateTradingSessionHighPrice(mdpGroupObj);
                    break;
                case TradingSessionLowPrice:
                    if (this.statisticsHandler != null)
                        this.statisticsHandler.updateTradingSessionLowPrice(mdpGroupObj);
                    break;
                case TradeVolume:
                    if (this.statisticsHandler != null) this.statisticsHandler.updateTradeVolume(mdpGroupObj);
                    break;
                case OpenInterest:
                    if (this.statisticsHandler != null) this.statisticsHandler.updateOpenInterest(mdpGroupObj);
                    break;
                case ImpliedBid:
                    if (this.impliedBookHandler != null) this.impliedBookHandler.handleSnapshotBidEntry(mdpGroupObj);
                    break;
                case ImpliedOffer:
                    if (this.impliedBookHandler != null) this.impliedBookHandler.handleSnapshotOfferEntry(mdpGroupObj);
                    break;
                case SessionHighBid:
                    if (this.statisticsHandler != null) this.statisticsHandler.updateSessionHighBid(mdpGroupObj);
                    break;
                case SessionLowOffer:
                    if (this.statisticsHandler != null) this.statisticsHandler.updateSessionLowOffer(mdpGroupObj);
                    break;
                case FixingPrice:
                    if (this.statisticsHandler != null) this.statisticsHandler.updateFixingPrice(mdpGroupObj);
                    break;
                case ElectronicVolume:
                    if (this.tradeHandler != null) this.tradeHandler.updateElectronicVolume(mdpGroupObj);
                    break;
                case ThresholdLimitsandPriceBandVariation:
                    if (this.statisticsHandler != null)
                        this.statisticsHandler.updateThresholdLimitsAndPriceBandVariation(mdpGroupObj);
                    break;
                default:
                    throw new IllegalStateException();
            }
        }
        if (this.multipleDepthBookHandler != null)
            this.channelContext.notifyBookFullRefresh(this.multipleDepthBookHandler);
        if (this.impliedBookHandler != null) this.channelContext.notifyImpliedBookFullRefresh(this.impliedBookHandler);
    }