# sunagriAPI
#
# An instance of OpenSILEX WebService
#
# OpenAPI spec version: 3.3.0
#
# Generated by: https://github.com/swagger-api/swagger-codegen.git
#' Metadata Class
#'
#' @field pagination
#' @field status
#' @field datafiles
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
Metadata <- R6::R6Class(
'Metadata',
public = list(
`pagination` = NULL,
`status` = NULL,
`datafiles` = NULL,
initialize = function(`pagination`, `status`, `datafiles`){
if (!missing(`pagination`)) {
stopifnot(R6::is.R6(`pagination`))
self$`pagination` <- `pagination`
}
if (!missing(`status`)) {
stopifnot(is.list(`status`), length(`status`) != 0)
lapply(`status`, function(x) stopifnot(R6::is.R6(x)))
self$`status` <- `status`
}
if (!missing(`datafiles`)) {
stopifnot(is.list(`datafiles`), length(`datafiles`) != 0)
lapply(`datafiles`, function(x) stopifnot(is.character(x)))
self$`datafiles` <- `datafiles`
}
},
toJSON = function() {
MetadataObject <- list()
if (!is.null(self$`pagination`)) {
MetadataObject[['pagination']] <- self$`pagination`$toJSON()
}
if (!is.null(self$`status`)) {
MetadataObject[['status']] <- lapply(self$`status`, function(x) x$toJSON())
}
if (!is.null(self$`datafiles`)) {
MetadataObject[['datafiles']] <- self$`datafiles`
}
MetadataObject
},
fromJSON = function(MetadataJson) {
MetadataObject <- jsonlite::fromJSON(MetadataJson)
if (!is.null(MetadataObject$`pagination`)) {
paginationObject <- Pagination$new()
paginationObject$fromJSON(jsonlite::toJSON(MetadataObject$pagination, auto_unbox = TRUE, null = "null"))
self$`pagination` <- paginationObject
}
if (!is.null(MetadataObject$`status`)) {
self$`status` <- lapply(MetadataObject$`status`, function(x) {
statusObject <- Status$new()
statusObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE, null = "null"))
statusObject
})
}
if (!is.null(MetadataObject$`datafiles`)) {
self$`datafiles` <- MetadataObject$`datafiles`
}
},
fromJSONObject = function(MetadataObject) {
if (!is.null(MetadataObject$`pagination`)) {
paginationObject <- Pagination$new()
paginationObject$fromJSON(jsonlite::toJSON(MetadataObject$pagination, auto_unbox = TRUE, null = "null"))
self$`pagination` <- paginationObject
}
if (!is.null(MetadataObject$`status`)) {
self$`status` <- lapply(MetadataObject$`status`, function(x) {
statusObject <- Status$new()
statusObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE, null = "null"))
statusObject
})
}
if (!is.null(MetadataObject$`datafiles`)) {
self$`datafiles` <- MetadataObject$`datafiles`
}
},
toJSONString = function() {
statusList = paste(lapply(self$`status`, function(x) x$toJSONString()),collapse = ",")
sprintf(
'{
"pagination": %s,
"status": [%s],
"datafiles": [%s]
}',
self$`pagination`$toJSON(),
statusList,
lapply(self$`datafiles`, function(x) paste(paste0('"', x, '"'), sep=","))
)
},
fromJSONString = function(MetadataJson) {
MetadataObject <- jsonlite::fromJSON(MetadataJson)
PaginationObject <- Pagination$new()
self$`pagination` <- PaginationObject$fromJSON(jsonlite::toJSON(MetadataObject$pagination, auto_unbox = TRUE))
self$`status` <- lapply(MetadataObject$`status`, function(x) Status$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
self$`datafiles` <- MetadataObject$`datafiles`
}
)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.