public static void main()

in orderbook-sample/src/main/java/com/epam/deltix/orderbook/sample/OrderBook_01_SingleExchangeOrderBook.java [42:124]


    public static void main(final String[] args) {
        final String symbol = "BTC/USD";
        final long exchangeId = AlphanumericUtils.toAlphanumericUInt64("COINBASE");
        final int marketDepth = 10;

        // Step 1: create order book
        final OrderBookOptions opt = new OrderBookOptionsBuilder()
                .symbol(symbol)
                .orderBookType(OrderBookType.SINGLE_EXCHANGE)
                .quoteLevels(DataModelType.LEVEL_TWO)
                .initialDepth(marketDepth)
                .initialExchangesPoolSize(1)
                .updateMode(UpdateMode.WAITING_FOR_SNAPSHOT)
                .build();

        final OrderBook<OrderBookQuote> orderBook = OrderBookFactory.create(opt);

        System.out.println("Hello! I'm " + orderBook.getDescription() + " for stock symbol: " + orderBook.getSymbol().get() + "!");

        // Step 2: feed it with updates
        orderBook.update(createL2VendorUpdate(marketDepth, exchangeId, symbol));

        // Step 4: inspect order book state by iterator
        System.out.println(System.lineSeparator());
        Iterator<OrderBookQuote> iterator = orderBook.getMarketSide(QuoteSide.ASK).iterator();
        while (iterator.hasNext()) {
            final OrderBookQuote quote = iterator.next();
            System.out.println(quote);
        }


        // Step 4.1: inspect order book state by iterator
        System.out.println(System.lineSeparator());
        iterator = orderBook
                .getExchanges()
                .getById(exchangeId).get()
                .getMarketSide(QuoteSide.ASK)
                .iterator();
        while (iterator.hasNext()) {
            final OrderBookQuote quote = iterator.next();
            System.out.println(quote);
        }

        // Step 4.2: inspect order book state by iterator
        System.out.println(System.lineSeparator());
        iterator = orderBook
                .getExchanges()
                .getById(exchangeId).get()
                .getMarketSide(QuoteSide.ASK)
                .iterator((short) 5);
        while (iterator.hasNext()) {
            final OrderBookQuote quote = iterator.next();
            System.out.println(quote);
        }

        // Step 4.3: inspect order book state by iterator
        System.out.println(System.lineSeparator());
        System.out.println(System.lineSeparator());
        iterator = orderBook
                .getExchanges()
                .getById(exchangeId).get()
                .getMarketSide(QuoteSide.ASK)
                .iterator((short) 3, (short) 5);
        while (iterator.hasNext()) {
            final OrderBookQuote quote = iterator.next();
            System.out.println(quote);
        }

        // Step 5: inspect order book state by for each
        System.out.println(System.lineSeparator());
        orderBook.getMarketSide(QuoteSide.ASK).forEach((Predicate<OrderBookQuote>) OrderBook_01_SingleExchangeOrderBook::printOrderBookLevel);

        System.out.println(System.lineSeparator());
        for (final OrderBookQuote quote : orderBook.getMarketSide(QuoteSide.ASK)) {
            System.out.println(quote);
        }

        // Step 5.1: inspect order book state by for each with cookie
        System.out.println(System.lineSeparator());
        final PriceAccumulator priceAccumulator = new PriceAccumulator();
        orderBook.getMarketSide(QuoteSide.ASK).forEach(OrderBook_01_SingleExchangeOrderBook::quoteViewAccumulatorAction, priceAccumulator);

    }