public boolean checkOrderPrice()

in orderbook-core/src/main/java/com/epam/deltix/orderbook/core/impl/AbstractL2MarketSide.java [282:304]


    public boolean checkOrderPrice(final int level, final @Decimal long price) {

        @Decimal final long previousPrice = hasLevel(level - 1) ? getQuote(level - 1).getPrice() : NULL;
        @Decimal final long nextPrice = hasLevel(level) ? getQuote(level).getPrice() : NULL;

        boolean badState = false;
        if (getSide() == QuoteSide.ASK) {
            if (isNotEqual(previousPrice, NULL) && isGreater(previousPrice, price)) {
                badState = true;
            }
            if (isNotEqual(nextPrice, NULL) && isLess(nextPrice, price)) {
                badState = true;
            }
        } else {
            if (isNotEqual(previousPrice, NULL) && isLess(previousPrice, price)) {
                badState = true;
            }
            if (isNotEqual(nextPrice, NULL) && isGreater(nextPrice, price)) {
                badState = true;
            }
        }
        return !badState;
    }