# TileDB Storage Platform API
#
# TileDB Storage Platform REST API
#
# The version of the OpenAPI document: 2.2.19
#
# Generated by: https://openapi-generator.tech
#' @docType class
#' @title SubarrayPartitioner
#'
#' @description SubarrayPartitioner Class
#'
#' @format An \code{R6Class} generator object
#'
#' @field subarray \link{Subarray} [optional]
#'
#' @field budget list( \link{AttributeBufferSize} ) [optional]
#'
#' @field current \link{SubarrayPartitionerCurrent} [optional]
#'
#' @field state \link{SubarrayPartitionerState} [optional]
#'
#' @field memoryBudget integer [optional]
#'
#' @field memoryBudgetVar integer [optional]
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
SubarrayPartitioner <- R6::R6Class(
'SubarrayPartitioner',
public = list(
`subarray` = NULL,
`budget` = NULL,
`current` = NULL,
`state` = NULL,
`memoryBudget` = NULL,
`memoryBudgetVar` = NULL,
initialize = function(
`subarray`=NULL, `budget`=NULL, `current`=NULL, `state`=NULL, `memoryBudget`=NULL, `memoryBudgetVar`=NULL, ...
) {
local.optional.var <- list(...)
if (!is.null(`subarray`)) {
stopifnot(R6::is.R6(`subarray`))
self$`subarray` <- `subarray`
}
if (!is.null(`budget`)) {
stopifnot(is.vector(`budget`), length(`budget`) != 0)
sapply(`budget`, function(x) stopifnot(R6::is.R6(x)))
self$`budget` <- `budget`
}
if (!is.null(`current`)) {
stopifnot(R6::is.R6(`current`))
self$`current` <- `current`
}
if (!is.null(`state`)) {
stopifnot(R6::is.R6(`state`))
self$`state` <- `state`
}
if (!is.null(`memoryBudget`)) {
stopifnot(is.numeric(`memoryBudget`), length(`memoryBudget`) == 1)
self$`memoryBudget` <- `memoryBudget`
}
if (!is.null(`memoryBudgetVar`)) {
stopifnot(is.numeric(`memoryBudgetVar`), length(`memoryBudgetVar`) == 1)
self$`memoryBudgetVar` <- `memoryBudgetVar`
}
},
toJSON = function() {
SubarrayPartitionerObject <- list()
if (!is.null(self$`subarray`)) {
SubarrayPartitionerObject[['subarray']] <-
self$`subarray`$toJSON()
}
if (!is.null(self$`budget`)) {
SubarrayPartitionerObject[['budget']] <-
lapply(self$`budget`, function(x) x$toJSON())
}
if (!is.null(self$`current`)) {
SubarrayPartitionerObject[['current']] <-
self$`current`$toJSON()
}
if (!is.null(self$`state`)) {
SubarrayPartitionerObject[['state']] <-
self$`state`$toJSON()
}
if (!is.null(self$`memoryBudget`)) {
SubarrayPartitionerObject[['memoryBudget']] <-
self$`memoryBudget`
}
if (!is.null(self$`memoryBudgetVar`)) {
SubarrayPartitionerObject[['memoryBudgetVar']] <-
self$`memoryBudgetVar`
}
SubarrayPartitionerObject
},
fromJSON = function(SubarrayPartitionerJson) {
SubarrayPartitionerObject <- jsonlite::fromJSON(SubarrayPartitionerJson)
if (!is.null(SubarrayPartitionerObject$`subarray`)) {
subarrayObject <- Subarray$new()
subarrayObject$fromJSON(jsonlite::toJSON(SubarrayPartitionerObject$subarray, auto_unbox = TRUE, digits = NA))
self$`subarray` <- subarrayObject
}
if (!is.null(SubarrayPartitionerObject$`budget`)) {
self$`budget` <- ApiClient$new()$deserializeObj(SubarrayPartitionerObject$`budget`, "array[AttributeBufferSize]", loadNamespace("tiledbcloud"))
}
if (!is.null(SubarrayPartitionerObject$`current`)) {
currentObject <- SubarrayPartitionerCurrent$new()
currentObject$fromJSON(jsonlite::toJSON(SubarrayPartitionerObject$current, auto_unbox = TRUE, digits = NA))
self$`current` <- currentObject
}
if (!is.null(SubarrayPartitionerObject$`state`)) {
stateObject <- SubarrayPartitionerState$new()
stateObject$fromJSON(jsonlite::toJSON(SubarrayPartitionerObject$state, auto_unbox = TRUE, digits = NA))
self$`state` <- stateObject
}
if (!is.null(SubarrayPartitionerObject$`memoryBudget`)) {
self$`memoryBudget` <- SubarrayPartitionerObject$`memoryBudget`
}
if (!is.null(SubarrayPartitionerObject$`memoryBudgetVar`)) {
self$`memoryBudgetVar` <- SubarrayPartitionerObject$`memoryBudgetVar`
}
self
},
toJSONString = function() {
jsoncontent <- c(
if (!is.null(self$`subarray`)) {
sprintf(
'"subarray":
%s
',
jsonlite::toJSON(self$`subarray`$toJSON(), auto_unbox=TRUE, digits = NA)
)},
if (!is.null(self$`budget`)) {
sprintf(
'"budget":
[%s]
',
paste(sapply(self$`budget`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE, digits = NA)), collapse=",")
)},
if (!is.null(self$`current`)) {
sprintf(
'"current":
%s
',
jsonlite::toJSON(self$`current`$toJSON(), auto_unbox=TRUE, digits = NA)
)},
if (!is.null(self$`state`)) {
sprintf(
'"state":
%s
',
jsonlite::toJSON(self$`state`$toJSON(), auto_unbox=TRUE, digits = NA)
)},
if (!is.null(self$`memoryBudget`)) {
sprintf(
'"memoryBudget":
%d
',
self$`memoryBudget`
)},
if (!is.null(self$`memoryBudgetVar`)) {
sprintf(
'"memoryBudgetVar":
%d
',
self$`memoryBudgetVar`
)}
)
jsoncontent <- paste(jsoncontent, collapse = ",")
paste('{', jsoncontent, '}', sep = "")
},
fromJSONString = function(SubarrayPartitionerJson) {
SubarrayPartitionerObject <- jsonlite::fromJSON(SubarrayPartitionerJson)
self$`subarray` <- Subarray$new()$fromJSON(jsonlite::toJSON(SubarrayPartitionerObject$subarray, auto_unbox = TRUE, digits = NA))
self$`budget` <- ApiClient$new()$deserializeObj(SubarrayPartitionerObject$`budget`, "array[AttributeBufferSize]", loadNamespace("tiledbcloud"))
self$`current` <- SubarrayPartitionerCurrent$new()$fromJSON(jsonlite::toJSON(SubarrayPartitionerObject$current, auto_unbox = TRUE, digits = NA))
self$`state` <- SubarrayPartitionerState$new()$fromJSON(jsonlite::toJSON(SubarrayPartitionerObject$state, auto_unbox = TRUE, digits = NA))
self$`memoryBudget` <- SubarrayPartitionerObject$`memoryBudget`
self$`memoryBudgetVar` <- SubarrayPartitionerObject$`memoryBudgetVar`
self
}
)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.