R/Contact.r

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


#' Contact Class
#'
#' @field uri 
#' @field email 
#' @field firstname 
#' @field lastname 
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
Contact <- R6::R6Class(
  'Contact',
  public = list(
    `uri` = NULL,
    `email` = NULL,
    `firstname` = NULL,
    `lastname` = NULL,
    initialize = function(`uri`, `email`, `firstname`, `lastname`){
      if (!missing(`uri`)) {
        stopifnot(is.character(`uri`), length(`uri`) == 1)
        self$`uri` <- `uri`
      }
      if (!missing(`email`)) {
        stopifnot(is.character(`email`), length(`email`) == 1)
        self$`email` <- `email`
      }
      if (!missing(`firstname`)) {
        stopifnot(is.character(`firstname`), length(`firstname`) == 1)
        self$`firstname` <- `firstname`
      }
      if (!missing(`lastname`)) {
        stopifnot(is.character(`lastname`), length(`lastname`) == 1)
        self$`lastname` <- `lastname`
      }
    },
    toJSON = function() {
      ContactObject <- list()
      if (!is.null(self$`uri`)) {
        ContactObject[['uri']] <- self$`uri`
      }
      if (!is.null(self$`email`)) {
        ContactObject[['email']] <- self$`email`
      }
      if (!is.null(self$`firstname`)) {
        ContactObject[['firstname']] <- self$`firstname`
      }
      if (!is.null(self$`lastname`)) {
        ContactObject[['lastname']] <- self$`lastname`
      }

      ContactObject
    },
    fromJSON = function(ContactJson) {
      ContactObject <- jsonlite::fromJSON(ContactJson)
      if (!is.null(ContactObject$`uri`)) {
        self$`uri` <- ContactObject$`uri`
      }
      if (!is.null(ContactObject$`email`)) {
        self$`email` <- ContactObject$`email`
      }
      if (!is.null(ContactObject$`firstname`)) {
        self$`firstname` <- ContactObject$`firstname`
      }
      if (!is.null(ContactObject$`lastname`)) {
        self$`lastname` <- ContactObject$`lastname`
      }
    },
    fromJSONObject = function(ContactObject) {
      if (!is.null(ContactObject$`uri`)) {
        self$`uri` <- ContactObject$`uri`
      }
      if (!is.null(ContactObject$`email`)) {
        self$`email` <- ContactObject$`email`
      }
      if (!is.null(ContactObject$`firstname`)) {
        self$`firstname` <- ContactObject$`firstname`
      }
      if (!is.null(ContactObject$`lastname`)) {
        self$`lastname` <- ContactObject$`lastname`
      }
    },
    toJSONString = function() {
       sprintf(
        '{
           "uri": %s,
           "email": %s,
           "firstname": %s,
           "lastname": %s
        }',
        jsonlite::toJSON(self$`uri`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`email`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`firstname`,auto_unbox=TRUE, null = "null"),
        jsonlite::toJSON(self$`lastname`,auto_unbox=TRUE, null = "null")
      )
    },
    fromJSONString = function(ContactJson) {
      ContactObject <- jsonlite::fromJSON(ContactJson)
      self$`uri` <- ContactObject$`uri`
      self$`email` <- ContactObject$`email`
      self$`firstname` <- ContactObject$`firstname`
      self$`lastname` <- ContactObject$`lastname`
    }
  )
)
OpenSILEX/phis-ws-client-r-tool documentation built on Sept. 10, 2020, 8:42 a.m.