R/BaseRisk.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

#' BaseRisk Class
#'
#' @field risk_type 
#' @field risk_score 
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
BaseRisk <- R6::R6Class(
  'BaseRisk',
  public = list(
    `risk_type` = NULL,
    `risk_score` = NULL,
    initialize = function(`risk_type`, `risk_score`){
      if (!missing(`risk_type`)) {
        stopifnot(is.character(`risk_type`), length(`risk_type`) == 1)
        self$`risk_type` <- `risk_type`
      }
      if (!missing(`risk_score`)) {
        stopifnot(is.numeric(`risk_score`), length(`risk_score`) == 1)
        stopifnot(R6::is.R6(`risk_score`))
        self$`risk_score` <- `risk_score`
      }
    },
    toJSON = function() {
      BaseRiskObject <- list()
      if (!is.null(self$`risk_type`)) {
        BaseRiskObject[['risk_type']] <- self$`risk_type`
      }
      if (!is.null(self$`risk_score`)) {
        BaseRiskObject[['risk_score']] <- self$`risk_score`$toJSON()
      }

      BaseRiskObject
    },
    fromJSON = function(BaseRiskJson) {
      BaseRiskObject <- jsonlite::fromJSON(BaseRiskJson)
      if (!is.null(BaseRiskObject$`risk_type`)) {
        self$`risk_type` <- BaseRiskObject$`risk_type`
      }
      if (!is.null(BaseRiskObject$`risk_score`)) {
        risk_scoreObject <- BigDecimal$new()
        risk_scoreObject$fromJSON(jsonlite::toJSON(BaseRiskObject$risk_score, auto_unbox = TRUE))
        self$`risk_score` <- risk_scoreObject
      }
    },
    toJSONString = function() {
       sprintf(
        '{
           "risk_type": %s,
           "risk_score": %s
        }',
        self$`risk_type`,
        self$`risk_score`$toJSON()
      )
    },
    fromJSONString = function(BaseRiskJson) {
      BaseRiskObject <- jsonlite::fromJSON(BaseRiskJson)
      self$`risk_type` <- BaseRiskObject$`risk_type`
      BigDecimalObject <- BigDecimal$new()
      self$`risk_score` <- BigDecimalObject$fromJSON(jsonlite::toJSON(BaseRiskObject$risk_score, auto_unbox = TRUE))
    }
  )
)
altana-tech/atlas-api-r-sdk documentation built on Dec. 19, 2021, 1:36 a.m.