R/StudyDetails.r

# sunagriAPI
#
# An instance of OpenSILEX WebService
#
# OpenAPI spec version: 3.3.0
# 
# Generated by: https://github.com/swagger-api/swagger-codegen.git


#' StudyDetails Class
#'
#' @field studyDbId 
#' @field studyName 
#' @field studyTypeDbId 
#' @field studyTypeName 
#' @field studyDescription 
#' @field seasons 
#' @field commonCropName 
#' @field trialDbId 
#' @field trialName 
#' @field startDate 
#' @field endDate 
#' @field active 
#' @field license 
#' @field location 
#' @field contacts 
#' @field dataLinks 
#' @field lastUpdate 
#' @field additionalInfo 
#' @field documentationURL 
#' @field studyType 
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
StudyDetails <- R6::R6Class(
  'StudyDetails',
  public = list(
    `studyDbId` = NULL,
    `studyName` = NULL,
    `studyTypeDbId` = NULL,
    `studyTypeName` = NULL,
    `studyDescription` = NULL,
    `seasons` = NULL,
    `commonCropName` = NULL,
    `trialDbId` = NULL,
    `trialName` = NULL,
    `startDate` = NULL,
    `endDate` = NULL,
    `active` = NULL,
    `license` = NULL,
    `location` = NULL,
    `contacts` = NULL,
    `dataLinks` = NULL,
    `lastUpdate` = NULL,
    `additionalInfo` = NULL,
    `documentationURL` = NULL,
    `studyType` = NULL,
    initialize = function(`studyDbId`, `studyName`, `studyTypeDbId`, `studyTypeName`, `studyDescription`, `seasons`, `commonCropName`, `trialDbId`, `trialName`, `startDate`, `endDate`, `active`, `license`, `location`, `contacts`, `dataLinks`, `lastUpdate`, `additionalInfo`, `documentationURL`, `studyType`){
      if (!missing(`studyDbId`)) {
        stopifnot(is.character(`studyDbId`), length(`studyDbId`) == 1)
        self$`studyDbId` <- `studyDbId`
      }
      if (!missing(`studyName`)) {
        stopifnot(is.character(`studyName`), length(`studyName`) == 1)
        self$`studyName` <- `studyName`
      }
      if (!missing(`studyTypeDbId`)) {
        stopifnot(is.character(`studyTypeDbId`), length(`studyTypeDbId`) == 1)
        self$`studyTypeDbId` <- `studyTypeDbId`
      }
      if (!missing(`studyTypeName`)) {
        stopifnot(is.character(`studyTypeName`), length(`studyTypeName`) == 1)
        self$`studyTypeName` <- `studyTypeName`
      }
      if (!missing(`studyDescription`)) {
        stopifnot(is.character(`studyDescription`), length(`studyDescription`) == 1)
        self$`studyDescription` <- `studyDescription`
      }
      if (!missing(`seasons`)) {
        stopifnot(is.list(`seasons`), length(`seasons`) != 0)
        lapply(`seasons`, function(x) stopifnot(is.character(x)))
        self$`seasons` <- `seasons`
      }
      if (!missing(`commonCropName`)) {
        stopifnot(is.character(`commonCropName`), length(`commonCropName`) == 1)
        self$`commonCropName` <- `commonCropName`
      }
      if (!missing(`trialDbId`)) {
        stopifnot(is.character(`trialDbId`), length(`trialDbId`) == 1)
        self$`trialDbId` <- `trialDbId`
      }
      if (!missing(`trialName`)) {
        stopifnot(is.character(`trialName`), length(`trialName`) == 1)
        self$`trialName` <- `trialName`
      }
      if (!missing(`startDate`)) {
        stopifnot(is.character(`startDate`), length(`startDate`) == 1)
        self$`startDate` <- `startDate`
      }
      if (!missing(`endDate`)) {
        stopifnot(is.character(`endDate`), length(`endDate`) == 1)
        self$`endDate` <- `endDate`
      }
      if (!missing(`active`)) {
        self$`active` <- `active`
      }
      if (!missing(`license`)) {
        stopifnot(is.character(`license`), length(`license`) == 1)
        self$`license` <- `license`
      }
      if (!missing(`location`)) {
        stopifnot(is.character(`location`), length(`location`) == 1)
        self$`location` <- `location`
      }
      if (!missing(`contacts`)) {
        stopifnot(is.list(`contacts`), length(`contacts`) != 0)
        lapply(`contacts`, function(x) stopifnot(R6::is.R6(x)))
        self$`contacts` <- `contacts`
      }
      if (!missing(`dataLinks`)) {
        stopifnot(is.list(`dataLinks`), length(`dataLinks`) != 0)
        lapply(`dataLinks`, function(x) stopifnot(is.character(x)))
        self$`dataLinks` <- `dataLinks`
      }
      if (!missing(`lastUpdate`)) {
        stopifnot(is.list(`lastUpdate`), length(`lastUpdate`) != 0)
        lapply(`lastUpdate`, function(x) stopifnot(is.character(x)))
        self$`lastUpdate` <- `lastUpdate`
      }
      if (!missing(`additionalInfo`)) {
        self$`additionalInfo` <- `additionalInfo`
      }
      if (!missing(`documentationURL`)) {
        stopifnot(is.character(`documentationURL`), length(`documentationURL`) == 1)
        self$`documentationURL` <- `documentationURL`
      }
      if (!missing(`studyType`)) {
        stopifnot(is.character(`studyType`), length(`studyType`) == 1)
        self$`studyType` <- `studyType`
      }
    },
    toJSON = function() {
      StudyDetailsObject <- list()
      if (!is.null(self$`studyDbId`)) {
        StudyDetailsObject[['studyDbId']] <- self$`studyDbId`
      }
      if (!is.null(self$`studyName`)) {
        StudyDetailsObject[['studyName']] <- self$`studyName`
      }
      if (!is.null(self$`studyTypeDbId`)) {
        StudyDetailsObject[['studyTypeDbId']] <- self$`studyTypeDbId`
      }
      if (!is.null(self$`studyTypeName`)) {
        StudyDetailsObject[['studyTypeName']] <- self$`studyTypeName`
      }
      if (!is.null(self$`studyDescription`)) {
        StudyDetailsObject[['studyDescription']] <- self$`studyDescription`
      }
      if (!is.null(self$`seasons`)) {
        StudyDetailsObject[['seasons']] <- self$`seasons`
      }
      if (!is.null(self$`commonCropName`)) {
        StudyDetailsObject[['commonCropName']] <- self$`commonCropName`
      }
      if (!is.null(self$`trialDbId`)) {
        StudyDetailsObject[['trialDbId']] <- self$`trialDbId`
      }
      if (!is.null(self$`trialName`)) {
        StudyDetailsObject[['trialName']] <- self$`trialName`
      }
      if (!is.null(self$`startDate`)) {
        StudyDetailsObject[['startDate']] <- self$`startDate`
      }
      if (!is.null(self$`endDate`)) {
        StudyDetailsObject[['endDate']] <- self$`endDate`
      }
      if (!is.null(self$`active`)) {
        StudyDetailsObject[['active']] <- self$`active`
      }
      if (!is.null(self$`license`)) {
        StudyDetailsObject[['license']] <- self$`license`
      }
      if (!is.null(self$`location`)) {
        StudyDetailsObject[['location']] <- self$`location`
      }
      if (!is.null(self$`contacts`)) {
        StudyDetailsObject[['contacts']] <- lapply(self$`contacts`, function(x) x$toJSON())
      }
      if (!is.null(self$`dataLinks`)) {
        StudyDetailsObject[['dataLinks']] <- self$`dataLinks`
      }
      if (!is.null(self$`lastUpdate`)) {
        StudyDetailsObject[['lastUpdate']] <- self$`lastUpdate`
      }
      if (!is.null(self$`additionalInfo`)) {
        StudyDetailsObject[['additionalInfo']] <- self$`additionalInfo`
      }
      if (!is.null(self$`documentationURL`)) {
        StudyDetailsObject[['documentationURL']] <- self$`documentationURL`
      }
      if (!is.null(self$`studyType`)) {
        StudyDetailsObject[['studyType']] <- self$`studyType`
      }

      StudyDetailsObject
    },
    fromJSON = function(StudyDetailsJson) {
      StudyDetailsObject <- jsonlite::fromJSON(StudyDetailsJson)
      if (!is.null(StudyDetailsObject$`studyDbId`)) {
        self$`studyDbId` <- StudyDetailsObject$`studyDbId`
      }
      if (!is.null(StudyDetailsObject$`studyName`)) {
        self$`studyName` <- StudyDetailsObject$`studyName`
      }
      if (!is.null(StudyDetailsObject$`studyTypeDbId`)) {
        self$`studyTypeDbId` <- StudyDetailsObject$`studyTypeDbId`
      }
      if (!is.null(StudyDetailsObject$`studyTypeName`)) {
        self$`studyTypeName` <- StudyDetailsObject$`studyTypeName`
      }
      if (!is.null(StudyDetailsObject$`studyDescription`)) {
        self$`studyDescription` <- StudyDetailsObject$`studyDescription`
      }
      if (!is.null(StudyDetailsObject$`seasons`)) {
        self$`seasons` <- StudyDetailsObject$`seasons`
      }
      if (!is.null(StudyDetailsObject$`commonCropName`)) {
        self$`commonCropName` <- StudyDetailsObject$`commonCropName`
      }
      if (!is.null(StudyDetailsObject$`trialDbId`)) {
        self$`trialDbId` <- StudyDetailsObject$`trialDbId`
      }
      if (!is.null(StudyDetailsObject$`trialName`)) {
        self$`trialName` <- StudyDetailsObject$`trialName`
      }
      if (!is.null(StudyDetailsObject$`startDate`)) {
        self$`startDate` <- StudyDetailsObject$`startDate`
      }
      if (!is.null(StudyDetailsObject$`endDate`)) {
        self$`endDate` <- StudyDetailsObject$`endDate`
      }
      if (!is.null(StudyDetailsObject$`active`)) {
        self$`active` <- StudyDetailsObject$`active`
      }
      if (!is.null(StudyDetailsObject$`license`)) {
        self$`license` <- StudyDetailsObject$`license`
      }
      if (!is.null(StudyDetailsObject$`location`)) {
        self$`location` <- StudyDetailsObject$`location`
      }
      if (!is.null(StudyDetailsObject$`contacts`)) {
        self$`contacts` <- lapply(StudyDetailsObject$`contacts`, function(x) {
          contactsObject <- ContactBrapi$new()
          contactsObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE, null = "null"))
          contactsObject
        })
      }
      if (!is.null(StudyDetailsObject$`dataLinks`)) {
        self$`dataLinks` <- StudyDetailsObject$`dataLinks`
      }
      if (!is.null(StudyDetailsObject$`lastUpdate`)) {
        self$`lastUpdate` <- StudyDetailsObject$`lastUpdate`
      }
      if (!is.null(StudyDetailsObject$`additionalInfo`)) {
        self$`additionalInfo` <- StudyDetailsObject$`additionalInfo`
      }
      if (!is.null(StudyDetailsObject$`documentationURL`)) {
        self$`documentationURL` <- StudyDetailsObject$`documentationURL`
      }
      if (!is.null(StudyDetailsObject$`studyType`)) {
        self$`studyType` <- StudyDetailsObject$`studyType`
      }
    },
    fromJSONObject = function(StudyDetailsObject) {
      if (!is.null(StudyDetailsObject$`studyDbId`)) {
        self$`studyDbId` <- StudyDetailsObject$`studyDbId`
      }
      if (!is.null(StudyDetailsObject$`studyName`)) {
        self$`studyName` <- StudyDetailsObject$`studyName`
      }
      if (!is.null(StudyDetailsObject$`studyTypeDbId`)) {
        self$`studyTypeDbId` <- StudyDetailsObject$`studyTypeDbId`
      }
      if (!is.null(StudyDetailsObject$`studyTypeName`)) {
        self$`studyTypeName` <- StudyDetailsObject$`studyTypeName`
      }
      if (!is.null(StudyDetailsObject$`studyDescription`)) {
        self$`studyDescription` <- StudyDetailsObject$`studyDescription`
      }
      if (!is.null(StudyDetailsObject$`seasons`)) {
        self$`seasons` <- StudyDetailsObject$`seasons`
      }
      if (!is.null(StudyDetailsObject$`commonCropName`)) {
        self$`commonCropName` <- StudyDetailsObject$`commonCropName`
      }
      if (!is.null(StudyDetailsObject$`trialDbId`)) {
        self$`trialDbId` <- StudyDetailsObject$`trialDbId`
      }
      if (!is.null(StudyDetailsObject$`trialName`)) {
        self$`trialName` <- StudyDetailsObject$`trialName`
      }
      if (!is.null(StudyDetailsObject$`startDate`)) {
        self$`startDate` <- StudyDetailsObject$`startDate`
      }
      if (!is.null(StudyDetailsObject$`endDate`)) {
        self$`endDate` <- StudyDetailsObject$`endDate`
      }
      if (!is.null(StudyDetailsObject$`active`)) {
        self$`active` <- StudyDetailsObject$`active`
      }
      if (!is.null(StudyDetailsObject$`license`)) {
        self$`license` <- StudyDetailsObject$`license`
      }
      if (!is.null(StudyDetailsObject$`location`)) {
        self$`location` <- StudyDetailsObject$`location`
      }
      if (!is.null(StudyDetailsObject$`contacts`)) {
        self$`contacts` <- lapply(StudyDetailsObject$`contacts`, function(x) {
          contactsObject <- ContactBrapi$new()
          contactsObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE, null = "null"))
          contactsObject
        })
      }
      if (!is.null(StudyDetailsObject$`dataLinks`)) {
        self$`dataLinks` <- StudyDetailsObject$`dataLinks`
      }
      if (!is.null(StudyDetailsObject$`lastUpdate`)) {
        self$`lastUpdate` <- StudyDetailsObject$`lastUpdate`
      }
      if (!is.null(StudyDetailsObject$`additionalInfo`)) {
        self$`additionalInfo` <- StudyDetailsObject$`additionalInfo`
      }
      if (!is.null(StudyDetailsObject$`documentationURL`)) {
        self$`documentationURL` <- StudyDetailsObject$`documentationURL`
      }
      if (!is.null(StudyDetailsObject$`studyType`)) {
        self$`studyType` <- StudyDetailsObject$`studyType`
      }
    },
    toJSONString = function() {
      contactsList = paste(lapply(self$`contacts`, function(x) x$toJSONString()),collapse = ",")
       sprintf(
        '{
           "studyDbId": %s,
           "studyName": %s,
           "studyTypeDbId": %s,
           "studyTypeName": %s,
           "studyDescription": %s,
           "seasons": [%s],
           "commonCropName": %s,
           "trialDbId": %s,
           "trialName": %s,
           "startDate": %s,
           "endDate": %s,
           "active": %s,
           "license": %s,
           "location": %s,
           "contacts": [%s],
           "dataLinks": [%s],
           "lastUpdate": [%s],
           "additionalInfo": %s,
           "documentationURL": %s,
           "studyType": %s
        }',
        jsonlite::toJSON(self$`studyDbId`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`studyName`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`studyTypeDbId`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`studyTypeName`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`studyDescription`,auto_unbox=TRUE, null = "null"),
        lapply(self$`seasons`, function(x) paste(paste0('"', x, '"'), sep=",")),
        jsonlite::toJSON(self$`commonCropName`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`trialDbId`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`trialName`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`startDate`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`endDate`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`active`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`license`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`location`,auto_unbox=TRUE, null = "null"),
        contactsList,
        lapply(self$`dataLinks`, function(x) paste(paste0('"', x, '"'), sep=",")),
        lapply(self$`lastUpdate`, function(x) paste(paste0('"', x, '"'), sep=",")),
        jsonlite::toJSON(self$`additionalInfo`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`documentationURL`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`studyType`,auto_unbox=TRUE, null = "null")
      )
    },
    fromJSONString = function(StudyDetailsJson) {
      StudyDetailsObject <- jsonlite::fromJSON(StudyDetailsJson)
      self$`studyDbId` <- StudyDetailsObject$`studyDbId`
      self$`studyName` <- StudyDetailsObject$`studyName`
      self$`studyTypeDbId` <- StudyDetailsObject$`studyTypeDbId`
      self$`studyTypeName` <- StudyDetailsObject$`studyTypeName`
      self$`studyDescription` <- StudyDetailsObject$`studyDescription`
      self$`seasons` <- StudyDetailsObject$`seasons`
      self$`commonCropName` <- StudyDetailsObject$`commonCropName`
      self$`trialDbId` <- StudyDetailsObject$`trialDbId`
      self$`trialName` <- StudyDetailsObject$`trialName`
      self$`startDate` <- StudyDetailsObject$`startDate`
      self$`endDate` <- StudyDetailsObject$`endDate`
      self$`active` <- StudyDetailsObject$`active`
      self$`license` <- StudyDetailsObject$`license`
      self$`location` <- StudyDetailsObject$`location`
      self$`contacts` <- lapply(StudyDetailsObject$`contacts`, function(x) ContactBrapi$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
      self$`dataLinks` <- StudyDetailsObject$`dataLinks`
      self$`lastUpdate` <- StudyDetailsObject$`lastUpdate`
      self$`additionalInfo` <- StudyDetailsObject$`additionalInfo`
      self$`documentationURL` <- StudyDetailsObject$`documentationURL`
      self$`studyType` <- StudyDetailsObject$`studyType`
    }
  )
)
OpenSILEX/phis-ws-client-r-tool documentation built on Sept. 10, 2020, 8:42 a.m.