pt 1.0.3

A client for polygon.io, a financial data platform for stocks, forex and crypto.
Documentation
/* 
 * Polygon API
 *
 * The future of fintech.
 *
 * OpenAPI spec version: 1.0.1
 * 
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 */
#![allow(unused_imports)]
/// Dividend : Company dividend

use serde_json::Value;
use bigdecimal::BigDecimal;
use chrono::{NaiveDateTime, DateTime, FixedOffset, Utc};

use crate::models::*;
//use crate::date_serializer;
//use crate::datetime_serializer;

#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct Dividend {
  #[serde(rename = "symbol")]
  symbol: Option<String>,  // AAPL 
  #[serde(rename = "type")]
  _type: Option<String>,  // Dividend income 
  #[serde(rename = "exDate")]
  ex_date: String,  // 2016-11-03T04:00:00.000Z 
  #[serde(rename = "paymentDate")]
  payment_date: Option<String>,  // 2016-11-03T04:00:00.000Z 
  #[serde(rename = "recordDate")]
  record_date: Option<String>,  // 2016-11-03T04:00:00.000Z 
  #[serde(rename = "declaredDate")]
  declared_date: Option<String>,  // 2016-11-03T04:00:00.000Z 
  #[serde(rename = "amount")]
  amount: f32,  // 0.57 
  #[serde(rename = "qualified")]
  qualified: Option<String>,  // Q 
  #[serde(rename = "flag")]
  flag: Option<String>  // YE 
}

impl Dividend {
  pub fn new(ex_date: String, amount: f32, ) -> Dividend {
    Dividend {
      symbol: None,
      _type: None,
      ex_date: ex_date,
      payment_date: None,
      record_date: None,
      declared_date: None,
      amount: amount,
      qualified: None,
      flag: None
    }
  }

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

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

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

  pub fn reset_symbol(&mut self) {
    self.symbol = None;
  }

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

  pub fn with__type(mut self, _type: String) -> Dividend {
    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_ex_date(&mut self, ex_date: String) {
    self.ex_date = ex_date;
  }

  pub fn with_ex_date(mut self, ex_date: String) -> Dividend {
    self.ex_date = ex_date;
    self
  }

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


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

  pub fn with_payment_date(mut self, payment_date: String) -> Dividend {
    self.payment_date = Some(payment_date);
    self
  }

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

  pub fn reset_payment_date(&mut self) {
    self.payment_date = None;
  }

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

  pub fn with_record_date(mut self, record_date: String) -> Dividend {
    self.record_date = Some(record_date);
    self
  }

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

  pub fn reset_record_date(&mut self) {
    self.record_date = None;
  }

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

  pub fn with_declared_date(mut self, declared_date: String) -> Dividend {
    self.declared_date = Some(declared_date);
    self
  }

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

  pub fn reset_declared_date(&mut self) {
    self.declared_date = None;
  }

  pub fn set_amount(&mut self, amount: f32) {
    self.amount = amount;
  }

  pub fn with_amount(mut self, amount: f32) -> Dividend {
    self.amount = amount;
    self
  }

  pub fn amount(&self) -> &f32 {
    &self.amount
  }


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

  pub fn with_qualified(mut self, qualified: String) -> Dividend {
    self.qualified = Some(qualified);
    self
  }

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

  pub fn reset_qualified(&mut self) {
    self.qualified = None;
  }

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

  pub fn with_flag(mut self, flag: String) -> Dividend {
    self.flag = Some(flag);
    self
  }

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

  pub fn reset_flag(&mut self) {
    self.flag = None;
  }

}