# 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
#' TradingPartners Class
#'
#' @field num_results
#' @field page_size
#' @field page_num
#' @field companies
#' @field edges
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
TradingPartners <- R6::R6Class(
'TradingPartners',
public = list(
`num_results` = NULL,
`page_size` = NULL,
`page_num` = NULL,
`companies` = NULL,
`edges` = NULL,
initialize = function(`num_results`, `page_size`, `page_num`, `companies`, `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(`companies`)) {
stopifnot(is.list(`companies`), length(`companies`) != 0)
lapply(`companies`, function(x) stopifnot(R6::is.R6(x)))
self$`companies` <- `companies`
}
if (!missing(`edges`)) {
stopifnot(is.list(`edges`), length(`edges`) != 0)
lapply(`edges`, function(x) stopifnot(R6::is.R6(x)))
self$`edges` <- `edges`
}
},
toJSON = function() {
TradingPartnersObject <- list()
if (!is.null(self$`num_results`)) {
TradingPartnersObject[['num_results']] <- self$`num_results`
}
if (!is.null(self$`page_size`)) {
TradingPartnersObject[['page_size']] <- self$`page_size`
}
if (!is.null(self$`page_num`)) {
TradingPartnersObject[['page_num']] <- self$`page_num`
}
if (!is.null(self$`companies`)) {
TradingPartnersObject[['companies']] <- lapply(self$`companies`, function(x) x$toJSON())
}
if (!is.null(self$`edges`)) {
TradingPartnersObject[['edges']] <- lapply(self$`edges`, function(x) x$toJSON())
}
TradingPartnersObject
},
fromJSON = function(TradingPartnersJson) {
TradingPartnersObject <- jsonlite::fromJSON(TradingPartnersJson)
if (!is.null(TradingPartnersObject$`num_results`)) {
self$`num_results` <- TradingPartnersObject$`num_results`
}
if (!is.null(TradingPartnersObject$`page_size`)) {
self$`page_size` <- TradingPartnersObject$`page_size`
}
if (!is.null(TradingPartnersObject$`page_num`)) {
self$`page_num` <- TradingPartnersObject$`page_num`
}
if (!is.null(TradingPartnersObject$`companies`)) {
self$`companies` <- lapply(TradingPartnersObject$`companies`, function(x) {
companiesObject <- Company$new()
companiesObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE))
companiesObject
})
}
if (!is.null(TradingPartnersObject$`edges`)) {
self$`edges` <- lapply(TradingPartnersObject$`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,
"companies": [%s],
"edges": [%s]
}',
self$`num_results`,
self$`page_size`,
self$`page_num`,
lapply(self$`companies`, function(x) paste(x$toJSON(), sep=",")),
lapply(self$`edges`, function(x) paste(x$toJSON(), sep=","))
)
},
fromJSONString = function(TradingPartnersJson) {
TradingPartnersObject <- jsonlite::fromJSON(TradingPartnersJson)
self$`num_results` <- TradingPartnersObject$`num_results`
self$`page_size` <- TradingPartnersObject$`page_size`
self$`page_num` <- TradingPartnersObject$`page_num`
self$`companies` <- lapply(TradingPartnersObject$`companies`, function(x) Company$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
self$`edges` <- lapply(TradingPartnersObject$`edges`, function(x) Edge$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
}
)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.