ib 1.0.0

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

/// SecdefInner : security definition information

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

#[derive(Debug, Serialize, Deserialize)]
pub struct SecdefInner {
  #[serde(rename = "conid")]
  conid: Option<i32>,
  #[serde(rename = "name")]
  name: Option<String>,
  #[serde(rename = "assetClass")]
  asset_class: Option<String>,
  #[serde(rename = "expiry")]
  expiry: Option<String>,
  #[serde(rename = "lastTradingDay")]
  last_trading_day: Option<String>,
  #[serde(rename = "group")]
  group: Option<String>,
  #[serde(rename = "putOrCall")]
  put_or_call: Option<String>,
  #[serde(rename = "sector")]
  sector: Option<String>,
  #[serde(rename = "sectorGroup")]
  sector_group: Option<String>,
  #[serde(rename = "strike")]
  strike: Option<f32>,
  #[serde(rename = "ticker")]
  ticker: Option<String>,
  #[serde(rename = "undConid")]
  und_conid: Option<i32>,
  #[serde(rename = "fullName")]
  full_name: Option<String>,
  #[serde(rename = "pageSize")]
  page_size: Option<i32>
}

impl SecdefInner {
  /// security definition information
  pub fn new() -> SecdefInner {
    SecdefInner {
      conid: None,
      name: None,
      asset_class: None,
      expiry: None,
      last_trading_day: None,
      group: None,
      put_or_call: None,
      sector: None,
      sector_group: None,
      strike: None,
      ticker: None,
      und_conid: None,
      full_name: None,
      page_size: None
    }
  }

  pub fn set_conid(&mut self, conid: i32) {
    self.conid = Some(conid);
  }

  pub fn with_conid(mut self, conid: i32) -> SecdefInner {
    self.conid = Some(conid);
    self
  }

  pub fn conid(&self) -> Option<&i32> {
    self.conid.as_ref()
  }

  pub fn reset_conid(&mut self) {
    self.conid = None;
  }

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

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

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

  pub fn reset_name(&mut self) {
    self.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) -> SecdefInner {
    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_expiry(&mut self, expiry: String) {
    self.expiry = Some(expiry);
  }

  pub fn with_expiry(mut self, expiry: String) -> SecdefInner {
    self.expiry = Some(expiry);
    self
  }

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

  pub fn reset_expiry(&mut self) {
    self.expiry = None;
  }

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

  pub fn with_last_trading_day(mut self, last_trading_day: String) -> SecdefInner {
    self.last_trading_day = Some(last_trading_day);
    self
  }

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

  pub fn reset_last_trading_day(&mut self) {
    self.last_trading_day = None;
  }

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

  pub fn with_group(mut self, group: String) -> SecdefInner {
    self.group = Some(group);
    self
  }

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

  pub fn reset_group(&mut self) {
    self.group = None;
  }

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

  pub fn with_put_or_call(mut self, put_or_call: String) -> SecdefInner {
    self.put_or_call = Some(put_or_call);
    self
  }

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

  pub fn reset_put_or_call(&mut self) {
    self.put_or_call = None;
  }

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

  pub fn with_sector(mut self, sector: String) -> SecdefInner {
    self.sector = Some(sector);
    self
  }

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

  pub fn reset_sector(&mut self) {
    self.sector = None;
  }

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

  pub fn with_sector_group(mut self, sector_group: String) -> SecdefInner {
    self.sector_group = Some(sector_group);
    self
  }

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

  pub fn reset_sector_group(&mut self) {
    self.sector_group = None;
  }

  pub fn set_strike(&mut self, strike: f32) {
    self.strike = Some(strike);
  }

  pub fn with_strike(mut self, strike: f32) -> SecdefInner {
    self.strike = Some(strike);
    self
  }

  pub fn strike(&self) -> Option<&f32> {
    self.strike.as_ref()
  }

  pub fn reset_strike(&mut self) {
    self.strike = None;
  }

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

  pub fn with_ticker(mut self, ticker: String) -> SecdefInner {
    self.ticker = Some(ticker);
    self
  }

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

  pub fn reset_ticker(&mut self) {
    self.ticker = None;
  }

  pub fn set_und_conid(&mut self, und_conid: i32) {
    self.und_conid = Some(und_conid);
  }

  pub fn with_und_conid(mut self, und_conid: i32) -> SecdefInner {
    self.und_conid = Some(und_conid);
    self
  }

  pub fn und_conid(&self) -> Option<&i32> {
    self.und_conid.as_ref()
  }

  pub fn reset_und_conid(&mut self) {
    self.und_conid = None;
  }

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

  pub fn with_full_name(mut self, full_name: String) -> SecdefInner {
    self.full_name = Some(full_name);
    self
  }

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

  pub fn reset_full_name(&mut self) {
    self.full_name = None;
  }

  pub fn set_page_size(&mut self, page_size: i32) {
    self.page_size = Some(page_size);
  }

  pub fn with_page_size(mut self, page_size: i32) -> SecdefInner {
    self.page_size = Some(page_size);
    self
  }

  pub fn page_size(&self) -> Option<&i32> {
    self.page_size.as_ref()
  }

  pub fn reset_page_size(&mut self) {
    self.page_size = None;
  }

}