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 IbcustentityinfoEntities {
  #[serde(rename = "address")]
  address: Option<::models::IbcustentityinfoAddress>,
  #[serde(rename = "canSign")]
  can_sign: Option<bool>,
  #[serde(rename = "canTrade")]
  can_trade: Option<bool>,
  #[serde(rename = "identDocs")]
  ident_docs: Option<Vec<Value>>,
  #[serde(rename = "name")]
  name: Option<::models::IbcustentityinfoName>,
  #[serde(rename = "type")]
  _type: Option<String>
}

impl IbcustentityinfoEntities {
  pub fn new() -> IbcustentityinfoEntities {
    IbcustentityinfoEntities {
      address: None,
      can_sign: None,
      can_trade: None,
      ident_docs: None,
      name: None,
      _type: None
    }
  }

  pub fn set_address(&mut self, address: ::models::IbcustentityinfoAddress) {
    self.address = Some(address);
  }

  pub fn with_address(mut self, address: ::models::IbcustentityinfoAddress) -> IbcustentityinfoEntities {
    self.address = Some(address);
    self
  }

  pub fn address(&self) -> Option<&::models::IbcustentityinfoAddress> {
    self.address.as_ref()
  }

  pub fn reset_address(&mut self) {
    self.address = None;
  }

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

  pub fn with_can_sign(mut self, can_sign: bool) -> IbcustentityinfoEntities {
    self.can_sign = Some(can_sign);
    self
  }

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

  pub fn reset_can_sign(&mut self) {
    self.can_sign = None;
  }

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

  pub fn with_can_trade(mut self, can_trade: bool) -> IbcustentityinfoEntities {
    self.can_trade = Some(can_trade);
    self
  }

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

  pub fn reset_can_trade(&mut self) {
    self.can_trade = None;
  }

  pub fn set_ident_docs(&mut self, ident_docs: Vec<Value>) {
    self.ident_docs = Some(ident_docs);
  }

  pub fn with_ident_docs(mut self, ident_docs: Vec<Value>) -> IbcustentityinfoEntities {
    self.ident_docs = Some(ident_docs);
    self
  }

  pub fn ident_docs(&self) -> Option<&Vec<Value>> {
    self.ident_docs.as_ref()
  }

  pub fn reset_ident_docs(&mut self) {
    self.ident_docs = None;
  }

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

  pub fn with_name(mut self, name: ::models::IbcustentityinfoName) -> IbcustentityinfoEntities {
    self.name = Some(name);
    self
  }

  pub fn name(&self) -> Option<&::models::IbcustentityinfoName> {
    self.name.as_ref()
  }

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

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

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

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

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

}