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

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

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

import com.tigerbrokers.stock.openapi.client.constant.TigerApiConstants;
import com.tigerbrokers.stock.openapi.client.https.domain.option.model.OptionCommonModel;
import com.tigerbrokers.stock.openapi.client.https.domain.option.model.OptionBasicModel;
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.OptionDepthResponse;
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/23.
 */
public class OptionDepthQueryRequest extends TigerCommonRequest implements TigerRequest {

  public OptionDepthQueryRequest() {
    setApiVersion(TigerApiConstants.DEFAULT_VERSION);
    setApiMethodName(MethodName.OPTION_DEPTH);
  }

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

  public OptionDepthQueryRequest(List items, Market market) {
    this();
    OptionBasicModel depthModel = new OptionBasicModel();
    depthModel.setOptionBasic(items);
    depthModel.setMarket(market == null ? Market.US : market);
    setApiModel(depthModel);
  }

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

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy