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


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

#[derive(Debug, Serialize, Deserialize)]
pub struct ScannerParams {
  /// for example-STK
  #[serde(rename = "instrument")]
  instrument: Option<String>,
  /// for example-TOP_PERC_GAIN
  #[serde(rename = "type")]
  _type: Option<String>,
  #[serde(rename = "filter")]
  filter: Option<Vec<::models::ScannerparamsFilter>>,
  #[serde(rename = "location")]
  location: Option<String>,
  #[serde(rename = "size")]
  size: Option<String>
}

impl ScannerParams {
  pub fn new() -> ScannerParams {
    ScannerParams {
      instrument: None,
      _type: None,
      filter: None,
      location: None,
      size: None
    }
  }

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

  pub fn with_instrument(mut self, instrument: String) -> ScannerParams {
    self.instrument = Some(instrument);
    self
  }

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

  pub fn reset_instrument(&mut self) {
    self.instrument = None;
  }

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

  pub fn with__type(mut self, _type: String) -> ScannerParams {
    self._type = Some(_type);
    self
  }

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

  pub fn reset__type(&mut self) {
    self._type = None;
  }

  pub fn set_filter(&mut self, filter: Vec<::models::ScannerparamsFilter>) {
    self.filter = Some(filter);
  }

  pub fn with_filter(mut self, filter: Vec<::models::ScannerparamsFilter>) -> ScannerParams {
    self.filter = Some(filter);
    self
  }

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

  pub fn reset_filter(&mut self) {
    self.filter = None;
  }

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

  pub fn with_location(mut self, location: String) -> ScannerParams {
    self.location = Some(location);
    self
  }

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

  pub fn reset_location(&mut self) {
    self.location = None;
  }

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

  pub fn with_size(mut self, size: String) -> ScannerParams {
    self.size = Some(size);
    self
  }

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

  pub fn reset_size(&mut self) {
    self.size = None;
  }

}