R/array_activity_log.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 ArrayActivityLog
#'
#' @description ArrayActivityLog Class
#'
#' @format An \code{R6Class} generator object
#'
#' @field event_at  character [optional]
#'
#' @field action  \link{ActivityEventType} [optional]
#'
#' @field username  character [optional]
#'
#' @field bytes_sent  integer [optional]
#'
#' @field bytes_received  integer [optional]
#'
#' @field array_task_id  character [optional]
#'
#' @field id  character [optional]
#'
#' @field query_ranges  character [optional]
#'
#' @field query_stats  character [optional]
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
ArrayActivityLog <- R6::R6Class(
  'ArrayActivityLog',
  public = list(
    `event_at` = NULL,
    `action` = NULL,
    `username` = NULL,
    `bytes_sent` = NULL,
    `bytes_received` = NULL,
    `array_task_id` = NULL,
    `id` = NULL,
    `query_ranges` = NULL,
    `query_stats` = NULL,
    initialize = function(
        `event_at`=NULL, `action`=NULL, `username`=NULL, `bytes_sent`=NULL, `bytes_received`=NULL, `array_task_id`=NULL, `id`=NULL, `query_ranges`=NULL, `query_stats`=NULL, ...
    ) {
      local.optional.var <- list(...)
      if (!is.null(`event_at`)) {
        stopifnot(is.character(`event_at`), length(`event_at`) == 1)
        self$`event_at` <- `event_at`
      }
      if (!is.null(`action`)) {
        stopifnot(R6::is.R6(`action`))
        self$`action` <- `action`
      }
      if (!is.null(`username`)) {
        stopifnot(is.character(`username`), length(`username`) == 1)
        self$`username` <- `username`
      }
      if (!is.null(`bytes_sent`)) {
        stopifnot(is.numeric(`bytes_sent`), length(`bytes_sent`) == 1)
        self$`bytes_sent` <- `bytes_sent`
      }
      if (!is.null(`bytes_received`)) {
        stopifnot(is.numeric(`bytes_received`), length(`bytes_received`) == 1)
        self$`bytes_received` <- `bytes_received`
      }
      if (!is.null(`array_task_id`)) {
        stopifnot(is.character(`array_task_id`), length(`array_task_id`) == 1)
        self$`array_task_id` <- `array_task_id`
      }
      if (!is.null(`id`)) {
        stopifnot(is.character(`id`), length(`id`) == 1)
        self$`id` <- `id`
      }
      if (!is.null(`query_ranges`)) {
        stopifnot(is.character(`query_ranges`), length(`query_ranges`) == 1)
        self$`query_ranges` <- `query_ranges`
      }
      if (!is.null(`query_stats`)) {
        stopifnot(is.character(`query_stats`), length(`query_stats`) == 1)
        self$`query_stats` <- `query_stats`
      }
    },
    toJSON = function() {
      ArrayActivityLogObject <- list()
      if (!is.null(self$`event_at`)) {
        ArrayActivityLogObject[['event_at']] <-
          self$`event_at`
      }
      if (!is.null(self$`action`)) {
        ArrayActivityLogObject[['action']] <-
          self$`action`$toJSON()
      }
      if (!is.null(self$`username`)) {
        ArrayActivityLogObject[['username']] <-
          self$`username`
      }
      if (!is.null(self$`bytes_sent`)) {
        ArrayActivityLogObject[['bytes_sent']] <-
          self$`bytes_sent`
      }
      if (!is.null(self$`bytes_received`)) {
        ArrayActivityLogObject[['bytes_received']] <-
          self$`bytes_received`
      }
      if (!is.null(self$`array_task_id`)) {
        ArrayActivityLogObject[['array_task_id']] <-
          self$`array_task_id`
      }
      if (!is.null(self$`id`)) {
        ArrayActivityLogObject[['id']] <-
          self$`id`
      }
      if (!is.null(self$`query_ranges`)) {
        ArrayActivityLogObject[['query_ranges']] <-
          self$`query_ranges`
      }
      if (!is.null(self$`query_stats`)) {
        ArrayActivityLogObject[['query_stats']] <-
          self$`query_stats`
      }

      ArrayActivityLogObject
    },
    fromJSON = function(ArrayActivityLogJson) {
      ArrayActivityLogObject <- jsonlite::fromJSON(ArrayActivityLogJson)
      if (!is.null(ArrayActivityLogObject$`event_at`)) {
        self$`event_at` <- ArrayActivityLogObject$`event_at`
      }
      if (!is.null(ArrayActivityLogObject$`action`)) {
        # MANUAL EDIT AFTER OPENAPI AUTOGEN
        # For enums, OpenAPI autogen (1) generates a constructor which requires being called
        # with one arguent; (2) generates callsites (such as here) that calls that constructor
        # with zero arguments.
        #
        #actionObject <- ActivityEventType$new()
        #actionObject$fromJSON(jsonlite::toJSON(ArrayActivityLogObject$action, auto_unbox = TRUE, digits = NA))
        actionObject <- ActivityEventType$new(ArrayActivityLogObject$action)
        self$`action` <- actionObject
      }
      if (!is.null(ArrayActivityLogObject$`username`)) {
        self$`username` <- ArrayActivityLogObject$`username`
      }
      if (!is.null(ArrayActivityLogObject$`bytes_sent`)) {
        self$`bytes_sent` <- ArrayActivityLogObject$`bytes_sent`
      }
      if (!is.null(ArrayActivityLogObject$`bytes_received`)) {
        self$`bytes_received` <- ArrayActivityLogObject$`bytes_received`
      }
      if (!is.null(ArrayActivityLogObject$`array_task_id`)) {
        self$`array_task_id` <- ArrayActivityLogObject$`array_task_id`
      }
      if (!is.null(ArrayActivityLogObject$`id`)) {
        self$`id` <- ArrayActivityLogObject$`id`
      }
      if (!is.null(ArrayActivityLogObject$`query_ranges`)) {
        self$`query_ranges` <- ArrayActivityLogObject$`query_ranges`
      }
      if (!is.null(ArrayActivityLogObject$`query_stats`)) {
        self$`query_stats` <- ArrayActivityLogObject$`query_stats`
      }
      self
    },
    toJSONString = function() {
      jsoncontent <- c(
        if (!is.null(self$`event_at`)) {
        sprintf(
        '"event_at":
          "%s"
                ',
        self$`event_at`
        )},
        if (!is.null(self$`action`)) {
        sprintf(
        '"action":
        %s
        ',
        jsonlite::toJSON(self$`action`$toJSON(), auto_unbox=TRUE, digits = NA)
        )},
        if (!is.null(self$`username`)) {
        sprintf(
        '"username":
          "%s"
                ',
        self$`username`
        )},
        if (!is.null(self$`bytes_sent`)) {
        sprintf(
        '"bytes_sent":
          %d
                ',
        self$`bytes_sent`
        )},
        if (!is.null(self$`bytes_received`)) {
        sprintf(
        '"bytes_received":
          %d
                ',
        self$`bytes_received`
        )},
        if (!is.null(self$`array_task_id`)) {
        sprintf(
        '"array_task_id":
          "%s"
                ',
        self$`array_task_id`
        )},
        if (!is.null(self$`id`)) {
        sprintf(
        '"id":
          "%s"
                ',
        self$`id`
        )},
        if (!is.null(self$`query_ranges`)) {
        sprintf(
        '"query_ranges":
          "%s"
                ',
        self$`query_ranges`
        )},
        if (!is.null(self$`query_stats`)) {
        sprintf(
        '"query_stats":
          "%s"
                ',
        self$`query_stats`
        )}
      )
      jsoncontent <- paste(jsoncontent, collapse = ",")
      paste('{', jsoncontent, '}', sep = "")
    },
    fromJSONString = function(ArrayActivityLogJson) {
      ArrayActivityLogObject <- jsonlite::fromJSON(ArrayActivityLogJson)
      self$`event_at` <- ArrayActivityLogObject$`event_at`
      self$`action` <- ActivityEventType$new()$fromJSON(jsonlite::toJSON(ArrayActivityLogObject$action, auto_unbox = TRUE, digits = NA))
      self$`username` <- ArrayActivityLogObject$`username`
      self$`bytes_sent` <- ArrayActivityLogObject$`bytes_sent`
      self$`bytes_received` <- ArrayActivityLogObject$`bytes_received`
      self$`array_task_id` <- ArrayActivityLogObject$`array_task_id`
      self$`id` <- ArrayActivityLogObject$`id`
      self$`query_ranges` <- ArrayActivityLogObject$`query_ranges`
      self$`query_stats` <- ArrayActivityLogObject$`query_stats`
      self
    }
  )
)
TileDB-Inc/TileDB-Cloud-R documentation built on July 18, 2024, 3:33 p.m.