R/pagination_metadata.R

# 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 PaginationMetadata
#'
#' @description PaginationMetadata Class
#'
#' @format An \code{R6Class} generator object
#'
#' @field page  numeric [optional]
#'
#' @field per_page  numeric [optional]
#'
#' @field total_pages  numeric [optional]
#'
#' @field total_items  numeric [optional]
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
PaginationMetadata <- R6::R6Class(
  'PaginationMetadata',
  public = list(
    `page` = NULL,
    `per_page` = NULL,
    `total_pages` = NULL,
    `total_items` = NULL,
    initialize = function(
        `page`=NULL, `per_page`=NULL, `total_pages`=NULL, `total_items`=NULL, ...
    ) {
      local.optional.var <- list(...)
      if (!is.null(`page`)) {
        self$`page` <- `page`
      }
      if (!is.null(`per_page`)) {
        self$`per_page` <- `per_page`
      }
      if (!is.null(`total_pages`)) {
        self$`total_pages` <- `total_pages`
      }
      if (!is.null(`total_items`)) {
        self$`total_items` <- `total_items`
      }
    },
    toJSON = function() {
      PaginationMetadataObject <- list()
      if (!is.null(self$`page`)) {
        PaginationMetadataObject[['page']] <-
          self$`page`
      }
      if (!is.null(self$`per_page`)) {
        PaginationMetadataObject[['per_page']] <-
          self$`per_page`
      }
      if (!is.null(self$`total_pages`)) {
        PaginationMetadataObject[['total_pages']] <-
          self$`total_pages`
      }
      if (!is.null(self$`total_items`)) {
        PaginationMetadataObject[['total_items']] <-
          self$`total_items`
      }

      PaginationMetadataObject
    },
    fromJSON = function(PaginationMetadataJson) {
      PaginationMetadataObject <- jsonlite::fromJSON(PaginationMetadataJson)
      if (!is.null(PaginationMetadataObject$`page`)) {
        self$`page` <- PaginationMetadataObject$`page`
      }
      if (!is.null(PaginationMetadataObject$`per_page`)) {
        self$`per_page` <- PaginationMetadataObject$`per_page`
      }
      if (!is.null(PaginationMetadataObject$`total_pages`)) {
        self$`total_pages` <- PaginationMetadataObject$`total_pages`
      }
      if (!is.null(PaginationMetadataObject$`total_items`)) {
        self$`total_items` <- PaginationMetadataObject$`total_items`
      }
      self
    },
    toJSONString = function() {
      jsoncontent <- c(
        if (!is.null(self$`page`)) {
        sprintf(
        '"page":
          %d
                ',
        self$`page`
        )},
        if (!is.null(self$`per_page`)) {
        sprintf(
        '"per_page":
          %d
                ',
        self$`per_page`
        )},
        if (!is.null(self$`total_pages`)) {
        sprintf(
        '"total_pages":
          %d
                ',
        self$`total_pages`
        )},
        if (!is.null(self$`total_items`)) {
        sprintf(
        '"total_items":
          %d
                ',
        self$`total_items`
        )}
      )
      jsoncontent <- paste(jsoncontent, collapse = ",")
      paste('{', jsoncontent, '}', sep = "")
    },
    fromJSONString = function(PaginationMetadataJson) {
      PaginationMetadataObject <- jsonlite::fromJSON(PaginationMetadataJson)
      self$`page` <- PaginationMetadataObject$`page`
      self$`per_page` <- PaginationMetadataObject$`per_page`
      self$`total_pages` <- PaginationMetadataObject$`total_pages`
      self$`total_items` <- PaginationMetadataObject$`total_items`
      self
    }
  )
)
TileDB-Inc/TileDB-Cloud-R documentation built on July 18, 2024, 3:33 p.m.