ib 3.0.0

A Rust client to the Interactive Brokers HTTP REST API
Documentation
/* 
 * Client Portal Web API
 *
 * Client Poral Web API
 *
 * OpenAPI spec version: 1.0.0
 * 
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 */

/// StocksInner : future contract information

#[allow(unused_imports)]
use serde_json::Value;

#[derive(Debug, Serialize, Deserialize)]
pub struct StocksInner {
  #[serde(rename = "assetClass")]
  asset_class: Option<String>,
  /// company name in Chinese
  #[serde(rename = "chineseName")]
  chinese_name: Option<String>,
  /// array of contracts from different exchanges
  #[serde(rename = "contracts")]
  contracts: Option<Vec<::models::StocksInnerContracts>>,
  /// company name
  #[serde(rename = "name")]
  name: Option<String>
}

impl StocksInner {
  /// future contract information
  pub fn new() -> StocksInner {
    StocksInner {
      asset_class: None,
      chinese_name: None,
      contracts: None,
      name: None
    }
  }

  pub fn set_asset_class(&mut self, asset_class: String) {
    self.asset_class = Some(asset_class);
  }

  pub fn with_asset_class(mut self, asset_class: String) -> StocksInner {
    self.asset_class = Some(asset_class);
    self
  }

  pub fn asset_class(&self) -> Option<&String> {
    self.asset_class.as_ref()
  }

  pub fn reset_asset_class(&mut self) {
    self.asset_class = None;
  }

  pub fn set_chinese_name(&mut self, chinese_name: String) {
    self.chinese_name = Some(chinese_name);
  }

  pub fn with_chinese_name(mut self, chinese_name: String) -> StocksInner {
    self.chinese_name = Some(chinese_name);
    self
  }

  pub fn chinese_name(&self) -> Option<&String> {
    self.chinese_name.as_ref()
  }

  pub fn reset_chinese_name(&mut self) {
    self.chinese_name = None;
  }

  pub fn set_contracts(&mut self, contracts: Vec<::models::StocksInnerContracts>) {
    self.contracts = Some(contracts);
  }

  pub fn with_contracts(mut self, contracts: Vec<::models::StocksInnerContracts>) -> StocksInner {
    self.contracts = Some(contracts);
    self
  }

  pub fn contracts(&self) -> Option<&Vec<::models::StocksInnerContracts>> {
    self.contracts.as_ref()
  }

  pub fn reset_contracts(&mut self) {
    self.contracts = None;
  }

  pub fn set_name(&mut self, name: String) {
    self.name = Some(name);
  }

  pub fn with_name(mut self, name: String) -> StocksInner {
    self.name = Some(name);
    self
  }

  pub fn name(&self) -> Option<&String> {
    self.name.as_ref()
  }

  pub fn reset_name(&mut self) {
    self.name = None;
  }

}