/* * Copyright (C) 2012 - present by Yann Le Tallec. * Please see distribution for license. */ package com.assylias.jbloomberg; import com.bloomberglp.blpapi.Request; import com.bloomberglp.blpapi.Session; /** * An interface used to create static or historical requests: users of this API should use existing implementations of * this interface. * <p>This interface has been made public for convenience but users should not need to implement it. */ public interface RequestBuilder<T extends RequestResult> { /** * * @return the service used by this request */ BloombergServiceType getServiceType(); /** * * @return the type of request (for example, historical data or intraday bars) */ BloombergRequestType getRequestType(); /** * * @param session the session to which the request will be sent * @return a properly built request that can be submitted to the session */ Request buildRequest(Session session); /** * * @return the parser that should be used to parse the result returned by the Bloomberg session */ ResultParser<T> getResultParser(); }