R/MultipleSystemRoleResponse.r

# Agave Platform Science API
#
# Power your digital lab and reduce the time from theory to discovery using the Agave Science-as-a-Service API Platform. Agave provides hosted services that allow researchers to manage data, conduct experiments, and publish and share results from anywhere at any time.
#
# Agave Platform version: 2.2.14
# 
# Generated by: https://github.com/swagger-api/swagger-codegen.git


#' MultipleSystemRoleResponse Class
#'
#' 
#'
#' @field message success or failure
#' @field result All matching roles for this system
#' @field status success or failure
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
MultipleSystemRoleResponse <- R6::R6Class(
  'MultipleSystemRoleResponse',
  public = list(
    `message` = NULL,
    `result` = NULL,
    `status` = NULL,
    initialize = function(`message`, `result`, `status`){
      if (!missing(`message`)) {
        stopifnot(is.character(`message`), length(`message`) == 1)
        self$`message` <- `message`
      }
      if (!missing(`result`)) {
        stopifnot(is.list(`result`), length(`result`) != 0)
        lapply(`result`, function(x) stopifnot(R6::is.R6(x)))
        self$`result` <- `result`
      }
      if (!missing(`status`)) {
        stopifnot(is.character(`status`), length(`status`) == 1)
        self$`status` <- `status`
      }
    },
    asJSON = function() {
      self$toJSON()
    },
    toJSON = function() {
      MultipleSystemRoleResponseObject <- list()
      if (!is.null(self$`message`)) {
        MultipleSystemRoleResponseObject[['message']] <- self$`message`
      }
      else {
        MultipleSystemRoleResponseObject[['message']] <- NULL
      }
      if (!is.null(self$`result`)) {
        MultipleSystemRoleResponseObject[['result']] <- lapply(self$`result`, function(x) x$toJSON())
      }
      else {
        MultipleSystemRoleResponseObject[['result']] <- NULL
      }
      if (!is.null(self$`status`)) {
        MultipleSystemRoleResponseObject[['status']] <- self$`status`
      }
      else {
        MultipleSystemRoleResponseObject[['status']] <- NULL
      }

      MultipleSystemRoleResponseObject
    },
    fromJSON = function(MultipleSystemRoleResponseObject) {
      if (is.character(MultipleSystemRoleResponseObject)) {
        MultipleSystemRoleResponseObject <- jsonlite::fromJSON(MultipleSystemRoleResponseJson)
      }

      if ("result" %in% names(MultipleSystemRoleResponseObject)) {
        MultipleSystemRoleResponseObject <- MultipleSystemRoleResponseObject$result
      }

      if (!is.null(MultipleSystemRoleResponseObject$`message`)) {
        self$`message` <- MultipleSystemRoleResponseObject$`message`
      }
      if (!is.null(MultipleSystemRoleResponseObject$`result`)) {
        self$`result` <- lapply(MultipleSystemRoleResponseObject$`result`, function(x) {
          resultObject <- SystemRoleRequest$new()
          resultObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE))
          resultObject
        })
      }
      if (!is.null(MultipleSystemRoleResponseObject$`status`)) {
        self$`status` <- MultipleSystemRoleResponseObject$`status`
      }
    },
    toJSONString = function() {
       sprintf(
        '{
           "message": %s,
           "result": [%s],
           "status": %s
        }',
        ifelse( is.null(self$`message`),"null",paste0(c('"', self$`message`, '"'))),
        lapply(self$`result`, function(x) paste(x$toJSON(), sep=",")),
        ifelse( is.null(self$`status`),"null",paste0(c('"', self$`status`, '"')))
      )
    },
    fromJSONString = function(MultipleSystemRoleResponseJson) {
      MultipleSystemRoleResponseObject <- jsonlite::fromJSON(MultipleSystemRoleResponseJson)
      self::fromJSON(MultipleSystemRoleResponseObject)

    }
  )
)
deardooley/agave-rlang-sdk documentation built on May 17, 2019, 10:12 p.m.