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

#' FacilityTradingPartners Class
#'
#' @field num_results 
#' @field page_size 
#' @field page_num 
#' @field facilities 
#' @field edges 
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
FacilityTradingPartners <- R6::R6Class(
  'FacilityTradingPartners',
  public = list(
    `num_results` = NULL,
    `page_size` = NULL,
    `page_num` = NULL,
    `facilities` = NULL,
    `edges` = NULL,
    initialize = function(`num_results`, `page_size`, `page_num`, `facilities`, `edges`){
      if (!missing(`num_results`)) {
        stopifnot(is.numeric(`num_results`), length(`num_results`) == 1)
        self$`num_results` <- `num_results`
      }
      if (!missing(`page_size`)) {
        stopifnot(is.numeric(`page_size`), length(`page_size`) == 1)
        self$`page_size` <- `page_size`
      }
      if (!missing(`page_num`)) {
        stopifnot(is.numeric(`page_num`), length(`page_num`) == 1)
        self$`page_num` <- `page_num`
      }
      if (!missing(`facilities`)) {
        stopifnot(is.list(`facilities`), length(`facilities`) != 0)
        lapply(`facilities`, function(x) stopifnot(R6::is.R6(x)))
        self$`facilities` <- `facilities`
      }
      if (!missing(`edges`)) {
        stopifnot(is.list(`edges`), length(`edges`) != 0)
        lapply(`edges`, function(x) stopifnot(R6::is.R6(x)))
        self$`edges` <- `edges`
      }
    },
    toJSON = function() {
      FacilityTradingPartnersObject <- list()
      if (!is.null(self$`num_results`)) {
        FacilityTradingPartnersObject[['num_results']] <- self$`num_results`
      }
      if (!is.null(self$`page_size`)) {
        FacilityTradingPartnersObject[['page_size']] <- self$`page_size`
      }
      if (!is.null(self$`page_num`)) {
        FacilityTradingPartnersObject[['page_num']] <- self$`page_num`
      }
      if (!is.null(self$`facilities`)) {
        FacilityTradingPartnersObject[['facilities']] <- lapply(self$`facilities`, function(x) x$toJSON())
      }
      if (!is.null(self$`edges`)) {
        FacilityTradingPartnersObject[['edges']] <- lapply(self$`edges`, function(x) x$toJSON())
      }

      FacilityTradingPartnersObject
    },
    fromJSON = function(FacilityTradingPartnersJson) {
      FacilityTradingPartnersObject <- jsonlite::fromJSON(FacilityTradingPartnersJson)
      if (!is.null(FacilityTradingPartnersObject$`num_results`)) {
        self$`num_results` <- FacilityTradingPartnersObject$`num_results`
      }
      if (!is.null(FacilityTradingPartnersObject$`page_size`)) {
        self$`page_size` <- FacilityTradingPartnersObject$`page_size`
      }
      if (!is.null(FacilityTradingPartnersObject$`page_num`)) {
        self$`page_num` <- FacilityTradingPartnersObject$`page_num`
      }
      if (!is.null(FacilityTradingPartnersObject$`facilities`)) {
        self$`facilities` <- lapply(FacilityTradingPartnersObject$`facilities`, function(x) {
          facilitiesObject <- Facility$new()
          facilitiesObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE))
          facilitiesObject
        })
      }
      if (!is.null(FacilityTradingPartnersObject$`edges`)) {
        self$`edges` <- lapply(FacilityTradingPartnersObject$`edges`, function(x) {
          edgesObject <- Edge$new()
          edgesObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE))
          edgesObject
        })
      }
    },
    toJSONString = function() {
       sprintf(
        '{
           "num_results": %d,
           "page_size": %d,
           "page_num": %d,
           "facilities": [%s],
           "edges": [%s]
        }',
        self$`num_results`,
        self$`page_size`,
        self$`page_num`,
        lapply(self$`facilities`, function(x) paste(x$toJSON(), sep=",")),
        lapply(self$`edges`, function(x) paste(x$toJSON(), sep=","))
      )
    },
    fromJSONString = function(FacilityTradingPartnersJson) {
      FacilityTradingPartnersObject <- jsonlite::fromJSON(FacilityTradingPartnersJson)
      self$`num_results` <- FacilityTradingPartnersObject$`num_results`
      self$`page_size` <- FacilityTradingPartnersObject$`page_size`
      self$`page_num` <- FacilityTradingPartnersObject$`page_num`
      self$`facilities` <- lapply(FacilityTradingPartnersObject$`facilities`, function(x) Facility$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
      self$`edges` <- lapply(FacilityTradingPartnersObject$`edges`, function(x) Edge$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
    }
  )
)
altana-tech/atlas-api-r-sdk documentation built on Dec. 19, 2021, 1:36 a.m.