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
 */


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

#[derive(Debug, Serialize, Deserialize)]
pub struct Symbol {
  /// should be true if the search is to be performed by name. false by default.
  #[serde(rename = "name")]
  name: Option<bool>,
  /// If search is done by name, only the assets provided in this field will be returned. Currently, only STK is supported.
  #[serde(rename = "secType")]
  sec_type: Option<String>,
  /// symbol or name to be searched
  #[serde(rename = "symbol")]
  symbol: String
}

impl Symbol {
  pub fn new(symbol: String) -> Symbol {
    Symbol {
      name: None,
      sec_type: None,
      symbol: symbol
    }
  }

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

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

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

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

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

  pub fn with_sec_type(mut self, sec_type: String) -> Symbol {
    self.sec_type = Some(sec_type);
    self
  }

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

  pub fn reset_sec_type(&mut self) {
    self.sec_type = None;
  }

  pub fn set_symbol(&mut self, symbol: String) {
    self.symbol = symbol;
  }

  pub fn with_symbol(mut self, symbol: String) -> Symbol {
    self.symbol = symbol;
    self
  }

  pub fn symbol(&self) -> &String {
    &self.symbol
  }


}