All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tigerbrokers.stock.openapi.client.https.request.option.OptionKlineQueryV2Request Maven / Gradle / Ivy

package com.tigerbrokers.stock.openapi.client.https.request.option;

import com.tigerbrokers.stock.openapi.client.https.domain.option.model.OptionKlineModel;
import com.tigerbrokers.stock.openapi.client.https.domain.option.model.OptionKlineV2Model;
import com.tigerbrokers.stock.openapi.client.https.request.TigerCommonRequest;
import com.tigerbrokers.stock.openapi.client.https.request.TigerRequest;
import com.tigerbrokers.stock.openapi.client.https.response.option.OptionKlineResponse;
import com.tigerbrokers.stock.openapi.client.struct.enums.Market;
import com.tigerbrokers.stock.openapi.client.struct.enums.MethodName;

import java.util.ArrayList;
import java.util.List;

/**
 * Description:
 * Created by liutongping on 2024/05/24.
 */
public class OptionKlineQueryV2Request extends TigerCommonRequest implements TigerRequest {

  public OptionKlineQueryV2Request() {
    setApiVersion(V2_0);
    setApiMethodName(MethodName.OPTION_KLINE);
  }

  public OptionKlineQueryV2Request(List items) {
    this(items, null);
  }

  public OptionKlineQueryV2Request(List items, Market market) {
    this();
    OptionKlineV2Model klineV2Model = new OptionKlineV2Model();
    klineV2Model.setOptionQuery(items);
    klineV2Model.setMarket(market == null ? Market.US : market);
    setApiModel(klineV2Model);
  }

  public OptionKlineQueryV2Request market(Market market) {
    ((OptionKlineV2Model)getApiModel()).setMarket(market == null ? Market.US : market);
    return this;
  }

  public static OptionKlineQueryV2Request of(List items) {
    return new OptionKlineQueryV2Request(items);
  }

  public static OptionKlineQueryV2Request of(OptionKlineModel... itemArray) {
    List items = new ArrayList<>();
    if (itemArray != null && itemArray.length > 0) {
      for (OptionKlineModel model : itemArray) {
        items.add(model);
      }
    }
    return new OptionKlineQueryV2Request(items);
  }

  @Override
  public Class getResponseClass() {
    return OptionKlineResponse.class;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy