# OpenSilex API
#
# No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
#
# OpenAPI spec version: 1.0.0-rc+2
#
# Generated by: https://github.com/swagger-api/swagger-codegen.git
#' MetadataDTO Class
#'
#' @field pagination
#' @field status
#' @field datafiles
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
MetadataDTO <- R6::R6Class(
'MetadataDTO',
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() {
MetadataDTOObject <- list()
if (!is.null(self$`pagination`)) {
MetadataDTOObject[['pagination']] <- self$`pagination`$toJSON()
}
if (!is.null(self$`status`)) {
MetadataDTOObject[['status']] <- lapply(self$`status`, function(x) x$toJSON())
}
if (!is.null(self$`datafiles`)) {
MetadataDTOObject[['datafiles']] <- self$`datafiles`
}
MetadataDTOObject
},
fromJSON = function(MetadataDTOJson) {
MetadataDTOObject <- jsonlite::fromJSON(MetadataDTOJson)
if (!is.null(MetadataDTOObject$`pagination`)) {
paginationObject <- PaginationDTO$new()
paginationObject$fromJSON(jsonlite::toJSON(MetadataDTOObject$pagination, auto_unbox = TRUE, null = "null"))
self$`pagination` <- paginationObject
}
if (!is.null(MetadataDTOObject$`status`)) {
self$`status` <- lapply(MetadataDTOObject$`status`, function(x) {
statusObject <- StatusDTO$new()
statusObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE, null = "null"))
statusObject
})
}
if (!is.null(MetadataDTOObject$`datafiles`)) {
self$`datafiles` <- MetadataDTOObject$`datafiles`
}
},
fromJSONObject = function(MetadataDTOObject) {
if (!is.null(MetadataDTOObject$`pagination`)) {
paginationObject <- PaginationDTO$new()
paginationObject$fromJSON(jsonlite::toJSON(MetadataDTOObject$pagination, auto_unbox = TRUE, null = "null"))
self$`pagination` <- paginationObject
}
if (!is.null(MetadataDTOObject$`status`)) {
self$`status` <- lapply(MetadataDTOObject$`status`, function(x) {
statusObject <- StatusDTO$new()
statusObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE, null = "null"))
statusObject
})
}
if (!is.null(MetadataDTOObject$`datafiles`)) {
self$`datafiles` <- MetadataDTOObject$`datafiles`
}
},
toJSONString = function() {
statusList = paste(lapply(self$`status`, function(x) x$toJSONString()),collapse = ",")
sprintf(
'{
"pagination": %s,
"status": [%s],
"datafiles": [%s]
}',
jsonlite::toJSON(self$`pagination`$toJSON(),auto_unbox=TRUE, null = "null"),
statusList,
ifelse(is.null(self$`datafiles`) || length(self$`datafiles`) == 0, "" ,lapply(self$`datafiles`, function(x) paste(paste0('"', x, '"'), sep=",")))
)
},
fromJSONString = function(MetadataDTOJson) {
MetadataDTOObject <- jsonlite::fromJSON(MetadataDTOJson)
PaginationDTOObject <- PaginationDTO$new()
self$`pagination` <- PaginationDTOObject$fromJSON(jsonlite::toJSON(MetadataDTOObject$pagination, auto_unbox = TRUE))
self$`status` <- lapply(MetadataDTOObject$`status`, function(x) StatusDTO$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
self$`datafiles` <- MetadataDTOObject$`datafiles`
}
)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.