R/Tariff.r

# Altana Atlas API
#
# Altana Atlas for Regulatory Risk and Trade Compliance
#
# OpenAPI spec version: {{ version or \"v0.0.1\" }}
# Contact: engineering@altanatech.com
# Generated by: https://github.com/swagger-api/swagger-codegen.git

#' Tariff Class
#'
#' @field duty 
#' @field excrate 
#' @field eparate 
#' @field spduty 
#' @field spexc 
#' @field envduty 
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
Tariff <- R6::R6Class(
  'Tariff',
  public = list(
    `duty` = NULL,
    `excrate` = NULL,
    `eparate` = NULL,
    `spduty` = NULL,
    `spexc` = NULL,
    `envduty` = NULL,
    initialize = function(`duty`, `excrate`, `eparate`, `spduty`, `spexc`, `envduty`){
      if (!missing(`duty`)) {
        stopifnot(is.numeric(`duty`), length(`duty`) == 1)
        stopifnot(R6::is.R6(`duty`))
        self$`duty` <- `duty`
      }
      if (!missing(`excrate`)) {
        stopifnot(is.numeric(`excrate`), length(`excrate`) == 1)
        stopifnot(R6::is.R6(`excrate`))
        self$`excrate` <- `excrate`
      }
      if (!missing(`eparate`)) {
        stopifnot(is.numeric(`eparate`), length(`eparate`) == 1)
        stopifnot(R6::is.R6(`eparate`))
        self$`eparate` <- `eparate`
      }
      if (!missing(`spduty`)) {
        stopifnot(is.numeric(`spduty`), length(`spduty`) == 1)
        stopifnot(R6::is.R6(`spduty`))
        self$`spduty` <- `spduty`
      }
      if (!missing(`spexc`)) {
        stopifnot(is.numeric(`spexc`), length(`spexc`) == 1)
        stopifnot(R6::is.R6(`spexc`))
        self$`spexc` <- `spexc`
      }
      if (!missing(`envduty`)) {
        stopifnot(is.numeric(`envduty`), length(`envduty`) == 1)
        stopifnot(R6::is.R6(`envduty`))
        self$`envduty` <- `envduty`
      }
    },
    toJSON = function() {
      TariffObject <- list()
      if (!is.null(self$`duty`)) {
        TariffObject[['duty']] <- self$`duty`$toJSON()
      }
      if (!is.null(self$`excrate`)) {
        TariffObject[['excrate']] <- self$`excrate`$toJSON()
      }
      if (!is.null(self$`eparate`)) {
        TariffObject[['eparate']] <- self$`eparate`$toJSON()
      }
      if (!is.null(self$`spduty`)) {
        TariffObject[['spduty']] <- self$`spduty`$toJSON()
      }
      if (!is.null(self$`spexc`)) {
        TariffObject[['spexc']] <- self$`spexc`$toJSON()
      }
      if (!is.null(self$`envduty`)) {
        TariffObject[['envduty']] <- self$`envduty`$toJSON()
      }

      TariffObject
    },
    fromJSON = function(TariffJson) {
      TariffObject <- jsonlite::fromJSON(TariffJson)
      if (!is.null(TariffObject$`duty`)) {
        dutyObject <- BigDecimal$new()
        dutyObject$fromJSON(jsonlite::toJSON(TariffObject$duty, auto_unbox = TRUE))
        self$`duty` <- dutyObject
      }
      if (!is.null(TariffObject$`excrate`)) {
        excrateObject <- BigDecimal$new()
        excrateObject$fromJSON(jsonlite::toJSON(TariffObject$excrate, auto_unbox = TRUE))
        self$`excrate` <- excrateObject
      }
      if (!is.null(TariffObject$`eparate`)) {
        eparateObject <- BigDecimal$new()
        eparateObject$fromJSON(jsonlite::toJSON(TariffObject$eparate, auto_unbox = TRUE))
        self$`eparate` <- eparateObject
      }
      if (!is.null(TariffObject$`spduty`)) {
        spdutyObject <- BigDecimal$new()
        spdutyObject$fromJSON(jsonlite::toJSON(TariffObject$spduty, auto_unbox = TRUE))
        self$`spduty` <- spdutyObject
      }
      if (!is.null(TariffObject$`spexc`)) {
        spexcObject <- BigDecimal$new()
        spexcObject$fromJSON(jsonlite::toJSON(TariffObject$spexc, auto_unbox = TRUE))
        self$`spexc` <- spexcObject
      }
      if (!is.null(TariffObject$`envduty`)) {
        envdutyObject <- BigDecimal$new()
        envdutyObject$fromJSON(jsonlite::toJSON(TariffObject$envduty, auto_unbox = TRUE))
        self$`envduty` <- envdutyObject
      }
    },
    toJSONString = function() {
       sprintf(
        '{
           "duty": %s,
           "excrate": %s,
           "eparate": %s,
           "spduty": %s,
           "spexc": %s,
           "envduty": %s
        }',
        self$`duty`$toJSON(),
        self$`excrate`$toJSON(),
        self$`eparate`$toJSON(),
        self$`spduty`$toJSON(),
        self$`spexc`$toJSON(),
        self$`envduty`$toJSON()
      )
    },
    fromJSONString = function(TariffJson) {
      TariffObject <- jsonlite::fromJSON(TariffJson)
      BigDecimalObject <- BigDecimal$new()
      self$`duty` <- BigDecimalObject$fromJSON(jsonlite::toJSON(TariffObject$duty, auto_unbox = TRUE))
      BigDecimalObject <- BigDecimal$new()
      self$`excrate` <- BigDecimalObject$fromJSON(jsonlite::toJSON(TariffObject$excrate, auto_unbox = TRUE))
      BigDecimalObject <- BigDecimal$new()
      self$`eparate` <- BigDecimalObject$fromJSON(jsonlite::toJSON(TariffObject$eparate, auto_unbox = TRUE))
      BigDecimalObject <- BigDecimal$new()
      self$`spduty` <- BigDecimalObject$fromJSON(jsonlite::toJSON(TariffObject$spduty, auto_unbox = TRUE))
      BigDecimalObject <- BigDecimal$new()
      self$`spexc` <- BigDecimalObject$fromJSON(jsonlite::toJSON(TariffObject$spexc, auto_unbox = TRUE))
      BigDecimalObject <- BigDecimal$new()
      self$`envduty` <- BigDecimalObject$fromJSON(jsonlite::toJSON(TariffObject$envduty, auto_unbox = TRUE))
    }
  )
)
altana-tech/atlas-api-r-sdk documentation built on Dec. 19, 2021, 1:36 a.m.