R/page_response_of_message_object.R

# DaDaPush Public API
#
# DaDaPush: Real-time Notifications App Send real-time notifications through our API without coding and maintaining your own app for iOS or Android devices.
#
# The version of the OpenAPI document: v1
# Contact: contacts@dadapush.com
# Generated by: https://openapi-generator.tech


#' PageResponseOfMessageObject Class
#'
#' @field content 
#' @field totalElements 
#' @field totalPages 
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
PageResponseOfMessageObject <- R6::R6Class(
  'PageResponseOfMessageObject',
  public = list(
    `content` = NULL,
    `totalElements` = NULL,
    `totalPages` = NULL,
    initialize = function(`content`=NULL, `totalElements`=NULL, `totalPages`=NULL, ...){
      local.optional.var <- list(...)
      if (!is.null(`content`)) {
        stopifnot(is.vector(`content`), length(`content`) != 0)
        sapply(`content`, function(x) stopifnot(R6::is.R6(x)))
        self$`content` <- `content`
      }
      if (!is.null(`totalElements`)) {
        stopifnot(is.numeric(`totalElements`), length(`totalElements`) == 1)
        self$`totalElements` <- `totalElements`
      }
      if (!is.null(`totalPages`)) {
        stopifnot(is.numeric(`totalPages`), length(`totalPages`) == 1)
        self$`totalPages` <- `totalPages`
      }
    },
    toJSON = function() {
      PageResponseOfMessageObjectObject <- list()
      if (!is.null(self$`content`)) {
        PageResponseOfMessageObjectObject[['content']] <-
          sapply(self$`content`, function(x) x$toJSON())
      }
      if (!is.null(self$`totalElements`)) {
        PageResponseOfMessageObjectObject[['totalElements']] <-
          self$`totalElements`
      }
      if (!is.null(self$`totalPages`)) {
        PageResponseOfMessageObjectObject[['totalPages']] <-
          self$`totalPages`
      }

      PageResponseOfMessageObjectObject
    },
    fromJSON = function(PageResponseOfMessageObjectJson) {
      PageResponseOfMessageObjectObject <- jsonlite::fromJSON(PageResponseOfMessageObjectJson)
      if (!is.null(PageResponseOfMessageObjectObject$`content`)) {
        self$`content` <- sapply(PageResponseOfMessageObjectObject$`content`, function(x) {
          contentObject <- MessageObject$new()
          contentObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE))
          contentObject
        })
      }
      if (!is.null(PageResponseOfMessageObjectObject$`totalElements`)) {
        self$`totalElements` <- PageResponseOfMessageObjectObject$`totalElements`
      }
      if (!is.null(PageResponseOfMessageObjectObject$`totalPages`)) {
        self$`totalPages` <- PageResponseOfMessageObjectObject$`totalPages`
      }
    },
    toJSONString = function() {
      sprintf(
        '{
           "content":
             [%s],
           "totalElements":
             %d,
           "totalPages":
             %d
        }',
        paste(unlist(lapply(self$`content`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE))), collapse=","),
        self$`totalElements`,
        self$`totalPages`
      )
    },
    fromJSONString = function(PageResponseOfMessageObjectJson) {
      PageResponseOfMessageObjectObject <- jsonlite::fromJSON(PageResponseOfMessageObjectJson)
      data.frame <- PageResponseOfMessageObjectObject$`content`
      self$`content` <- vector("list", length = nrow(data.frame))
      for (row in 1:nrow(data.frame)) {
          content.node <- MessageObject$new()
          content.node$fromJSON(jsonlite::toJSON(data.frame[row,,drop = TRUE], auto_unbox = TRUE))
          self$`content`[[row]] <- content.node
      }
      self$`totalElements` <- PageResponseOfMessageObjectObject$`totalElements`
      self$`totalPages` <- PageResponseOfMessageObjectObject$`totalPages`
      self
    }
  )
)
dadapush/dadapush-r-client documentation built on Nov. 4, 2019, 9:36 a.m.