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 IservercontractconidalgosParameters {
  /// User configured preset for this parameter.
  #[serde(rename = "defaultValue")]
  default_value: Option<bool>,
  /// Detailed description of the parameter.
  #[serde(rename = "description")]
  description: Option<String>,
  /// The rules that UI should apply to algo parameters depending on chosen order type:  * MKT:speedUp:=:no - hide SpeedUp param when MKT is chosen for order type.  * LMT:strategyType:<>:empty - strategyType param cannot be empty when LMT is chosen for order type.  * MKT:strategyType:=:Marketable - set strategyType param to Marketable and disable (no other choice) when MKT is chosen for order type. 
  #[serde(rename = "enabledConditions")]
  enabled_conditions: Option<String>,
  /// The order in UI, used when building dynamic UI so that more important parameters are presented first.
  #[serde(rename = "guiRank")]
  gui_rank: Option<f32>,
  /// The algo parameter
  #[serde(rename = "id")]
  id: String,
  /// The list of choices
  #[serde(rename = "legalStrings")]
  legal_strings: Option<String>,
  /// Largest value, only applies to parameters with valueClassName=Double.
  #[serde(rename = "maxValue")]
  max_value: Option<f32>,
  /// Smallest value, only applies to parameters with valueClassName=Double.
  #[serde(rename = "minValue")]
  min_value: Option<f32>,
  /// Descriptive name of the parameter.
  #[serde(rename = "name")]
  name: Option<String>,
  /// If true, must specify parameter using market rule format. Only applies to parameters with valueClassName=Double.
  #[serde(rename = "priceMarketRule")]
  price_market_rule: Option<bool>,
  /// If true a value must be entered.
  #[serde(rename = "required")]
  required: Option<bool>,
  /// Format of the parameter.
  #[serde(rename = "valueClassName")]
  value_class_name: String
}

impl IservercontractconidalgosParameters {
  pub fn new(id: String, value_class_name: String) -> IservercontractconidalgosParameters {
    IservercontractconidalgosParameters {
      default_value: None,
      description: None,
      enabled_conditions: None,
      gui_rank: None,
      id: id,
      legal_strings: None,
      max_value: None,
      min_value: None,
      name: None,
      price_market_rule: None,
      required: None,
      value_class_name: value_class_name
    }
  }

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

  pub fn with_default_value(mut self, default_value: bool) -> IservercontractconidalgosParameters {
    self.default_value = Some(default_value);
    self
  }

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

  pub fn reset_default_value(&mut self) {
    self.default_value = None;
  }

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

  pub fn with_description(mut self, description: String) -> IservercontractconidalgosParameters {
    self.description = Some(description);
    self
  }

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

  pub fn reset_description(&mut self) {
    self.description = None;
  }

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

  pub fn with_enabled_conditions(mut self, enabled_conditions: String) -> IservercontractconidalgosParameters {
    self.enabled_conditions = Some(enabled_conditions);
    self
  }

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

  pub fn reset_enabled_conditions(&mut self) {
    self.enabled_conditions = None;
  }

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

  pub fn with_gui_rank(mut self, gui_rank: f32) -> IservercontractconidalgosParameters {
    self.gui_rank = Some(gui_rank);
    self
  }

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

  pub fn reset_gui_rank(&mut self) {
    self.gui_rank = None;
  }

  pub fn set_id(&mut self, id: String) {
    self.id = id;
  }

  pub fn with_id(mut self, id: String) -> IservercontractconidalgosParameters {
    self.id = id;
    self
  }

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


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

  pub fn with_legal_strings(mut self, legal_strings: String) -> IservercontractconidalgosParameters {
    self.legal_strings = Some(legal_strings);
    self
  }

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

  pub fn reset_legal_strings(&mut self) {
    self.legal_strings = None;
  }

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

  pub fn with_max_value(mut self, max_value: f32) -> IservercontractconidalgosParameters {
    self.max_value = Some(max_value);
    self
  }

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

  pub fn reset_max_value(&mut self) {
    self.max_value = None;
  }

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

  pub fn with_min_value(mut self, min_value: f32) -> IservercontractconidalgosParameters {
    self.min_value = Some(min_value);
    self
  }

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

  pub fn reset_min_value(&mut self) {
    self.min_value = None;
  }

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

  pub fn with_name(mut self, name: String) -> IservercontractconidalgosParameters {
    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_price_market_rule(&mut self, price_market_rule: bool) {
    self.price_market_rule = Some(price_market_rule);
  }

  pub fn with_price_market_rule(mut self, price_market_rule: bool) -> IservercontractconidalgosParameters {
    self.price_market_rule = Some(price_market_rule);
    self
  }

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

  pub fn reset_price_market_rule(&mut self) {
    self.price_market_rule = None;
  }

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

  pub fn with_required(mut self, required: bool) -> IservercontractconidalgosParameters {
    self.required = Some(required);
    self
  }

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

  pub fn reset_required(&mut self) {
    self.required = None;
  }

  pub fn set_value_class_name(&mut self, value_class_name: String) {
    self.value_class_name = value_class_name;
  }

  pub fn with_value_class_name(mut self, value_class_name: String) -> IservercontractconidalgosParameters {
    self.value_class_name = value_class_name;
    self
  }

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


}