# sunagriAPI
#
# An instance of OpenSILEX WebService
#
# OpenAPI spec version: 3.3.0
#
# Generated by: https://github.com/swagger-api/swagger-codegen.git
#' Dataset Class
#'
#' @field variableURI
#' @field experiment
#' @field provenance
#' @field data
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
Dataset <- R6::R6Class(
'Dataset',
public = list(
`variableURI` = NULL,
`experiment` = NULL,
`provenance` = NULL,
`data` = NULL,
initialize = function(`variableURI`, `experiment`, `provenance`, `data`){
if (!missing(`variableURI`)) {
stopifnot(is.character(`variableURI`), length(`variableURI`) == 1)
self$`variableURI` <- `variableURI`
}
if (!missing(`experiment`)) {
stopifnot(is.character(`experiment`), length(`experiment`) == 1)
self$`experiment` <- `experiment`
}
if (!missing(`provenance`)) {
stopifnot(R6::is.R6(`provenance`))
self$`provenance` <- `provenance`
}
if (!missing(`data`)) {
stopifnot(is.list(`data`), length(`data`) != 0)
lapply(`data`, function(x) stopifnot(R6::is.R6(x)))
self$`data` <- `data`
}
},
toJSON = function() {
DatasetObject <- list()
if (!is.null(self$`variableURI`)) {
DatasetObject[['variableURI']] <- self$`variableURI`
}
if (!is.null(self$`experiment`)) {
DatasetObject[['experiment']] <- self$`experiment`
}
if (!is.null(self$`provenance`)) {
DatasetObject[['provenance']] <- self$`provenance`$toJSON()
}
if (!is.null(self$`data`)) {
DatasetObject[['data']] <- lapply(self$`data`, function(x) x$toJSON())
}
DatasetObject
},
fromJSON = function(DatasetJson) {
DatasetObject <- jsonlite::fromJSON(DatasetJson)
if (!is.null(DatasetObject$`variableURI`)) {
self$`variableURI` <- DatasetObject$`variableURI`
}
if (!is.null(DatasetObject$`experiment`)) {
self$`experiment` <- DatasetObject$`experiment`
}
if (!is.null(DatasetObject$`provenance`)) {
provenanceObject <- Provenance$new()
provenanceObject$fromJSON(jsonlite::toJSON(DatasetObject$provenance, auto_unbox = TRUE, null = "null"))
self$`provenance` <- provenanceObject
}
if (!is.null(DatasetObject$`data`)) {
self$`data` <- lapply(DatasetObject$`data`, function(x) {
dataObject <- AgronomicalData$new()
dataObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE, null = "null"))
dataObject
})
}
},
fromJSONObject = function(DatasetObject) {
if (!is.null(DatasetObject$`variableURI`)) {
self$`variableURI` <- DatasetObject$`variableURI`
}
if (!is.null(DatasetObject$`experiment`)) {
self$`experiment` <- DatasetObject$`experiment`
}
if (!is.null(DatasetObject$`provenance`)) {
provenanceObject <- Provenance$new()
provenanceObject$fromJSON(jsonlite::toJSON(DatasetObject$provenance, auto_unbox = TRUE, null = "null"))
self$`provenance` <- provenanceObject
}
if (!is.null(DatasetObject$`data`)) {
self$`data` <- lapply(DatasetObject$`data`, function(x) {
dataObject <- AgronomicalData$new()
dataObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE, null = "null"))
dataObject
})
}
},
toJSONString = function() {
dataList = paste(lapply(self$`data`, function(x) x$toJSONString()),collapse = ",")
sprintf(
'{
"variableURI": %s,
"experiment": %s,
"provenance": %s,
"data": [%s]
}',
jsonlite::toJSON(self$`variableURI`,auto_unbox=TRUE, null = "null"),
jsonlite::toJSON(self$`experiment`,auto_unbox=TRUE, null = "null"),
self$`provenance`$toJSON(),
dataList
)
},
fromJSONString = function(DatasetJson) {
DatasetObject <- jsonlite::fromJSON(DatasetJson)
self$`variableURI` <- DatasetObject$`variableURI`
self$`experiment` <- DatasetObject$`experiment`
ProvenanceObject <- Provenance$new()
self$`provenance` <- ProvenanceObject$fromJSON(jsonlite::toJSON(DatasetObject$provenance, auto_unbox = TRUE))
self$`data` <- lapply(DatasetObject$`data`, function(x) AgronomicalData$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.