R/LngLatAlt.r

# OpenSilex API
#
# No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
#
# OpenAPI spec version: 1.0.0-rc+2
# 
# Generated by: https://github.com/swagger-api/swagger-codegen.git


#' LngLatAlt Class
#'
#' @field longitude 
#' @field latitude 
#' @field altitude 
#' @field additionalElements 
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
LngLatAlt <- R6::R6Class(
  'LngLatAlt',
  public = list(
    `longitude` = NULL,
    `latitude` = NULL,
    `altitude` = NULL,
    `additionalElements` = NULL,
    initialize = function(`longitude`, `latitude`, `altitude`, `additionalElements`){
      if (!missing(`longitude`)) {
        stopifnot(is.numeric(`longitude`), length(`longitude`) == 1)
        self$`longitude` <- `longitude`
      }
      if (!missing(`latitude`)) {
        stopifnot(is.numeric(`latitude`), length(`latitude`) == 1)
        self$`latitude` <- `latitude`
      }
      if (!missing(`altitude`)) {
        stopifnot(is.numeric(`altitude`), length(`altitude`) == 1)
        self$`altitude` <- `altitude`
      }
      if (!missing(`additionalElements`)) {
        stopifnot(is.list(`additionalElements`), length(`additionalElements`) != 0)
        lapply(`additionalElements`, function(x) stopifnot(is.character(x)))
        self$`additionalElements` <- `additionalElements`
      }
    },
    toJSON = function() {
      LngLatAltObject <- list()
      if (!is.null(self$`longitude`)) {
        LngLatAltObject[['longitude']] <- self$`longitude`
      }
      if (!is.null(self$`latitude`)) {
        LngLatAltObject[['latitude']] <- self$`latitude`
      }
      if (!is.null(self$`altitude`)) {
        LngLatAltObject[['altitude']] <- self$`altitude`
      }
      if (!is.null(self$`additionalElements`)) {
        LngLatAltObject[['additionalElements']] <- self$`additionalElements`
      }

      LngLatAltObject
    },
    fromJSON = function(LngLatAltJson) {
      LngLatAltObject <- jsonlite::fromJSON(LngLatAltJson)
      if (!is.null(LngLatAltObject$`longitude`)) {
        self$`longitude` <- LngLatAltObject$`longitude`
      }
      if (!is.null(LngLatAltObject$`latitude`)) {
        self$`latitude` <- LngLatAltObject$`latitude`
      }
      if (!is.null(LngLatAltObject$`altitude`)) {
        self$`altitude` <- LngLatAltObject$`altitude`
      }
      if (!is.null(LngLatAltObject$`additionalElements`)) {
        self$`additionalElements` <- LngLatAltObject$`additionalElements`
      }
    },
    fromJSONObject = function(LngLatAltObject) {
      if (!is.null(LngLatAltObject$`longitude`)) {
        self$`longitude` <- LngLatAltObject$`longitude`
      }
      if (!is.null(LngLatAltObject$`latitude`)) {
        self$`latitude` <- LngLatAltObject$`latitude`
      }
      if (!is.null(LngLatAltObject$`altitude`)) {
        self$`altitude` <- LngLatAltObject$`altitude`
      }
      if (!is.null(LngLatAltObject$`additionalElements`)) {
        self$`additionalElements` <- LngLatAltObject$`additionalElements`
      }
    },
    toJSONString = function() {
       sprintf(
        '{
           "longitude": %s,
           "latitude": %s,
           "altitude": %s,
           "additionalElements": [%s]
        }',
        ifelse(is.null(self$`longitude`), "null",as.numeric(jsonlite::toJSON(self$`longitude`,auto_unbox=TRUE, null = "null"))),
        ifelse(is.null(self$`latitude`), "null",as.numeric(jsonlite::toJSON(self$`latitude`,auto_unbox=TRUE, null = "null"))),
        ifelse(is.null(self$`altitude`), "null",as.numeric(jsonlite::toJSON(self$`altitude`,auto_unbox=TRUE, null = "null"))),
        ifelse(is.null(self$`additionalElements`) || length(self$`additionalElements`) == 0, "" ,lapply(self$`additionalElements`, function(x) paste(paste0('"', x, '"'), sep=",")))
      )
    },
    fromJSONString = function(LngLatAltJson) {
      LngLatAltObject <- jsonlite::fromJSON(LngLatAltJson)
      self$`longitude` <- LngLatAltObject$`longitude`
      self$`latitude` <- LngLatAltObject$`latitude`
      self$`altitude` <- LngLatAltObject$`altitude`
      self$`additionalElements` <- LngLatAltObject$`additionalElements`
    }
  )
)
OpenSILEX/opensilexClientToolsR documentation built on Jan. 28, 2022, 5:03 a.m.