R/directions_matrix.R

# LocationIQ
#
# LocationIQ provides flexible enterprise-grade location based solutions. We work with developers, startups and enterprises worldwide serving billions of requests everyday. This page provides an overview of the technical aspects of our API and will help you get started.
#
# The version of the OpenAPI document: 1.1.0
# 
# Generated by: https://openapi-generator.tech

#' @docType class
#' @title DirectionsMatrix
#' @description DirectionsMatrix Class
#' @format An \code{R6Class} generator object
#' @field code  character [optional]
#'
#' @field distances  list( numeric ) [optional]
#'
#' @field fallback_speed_cells  list( numeric ) [optional]
#'
#' @field sources  list( \link{DirectionsMatrixSources} ) [optional]
#'
#' @field destinations  list( \link{DirectionsMatrixSources} ) [optional]
#'
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
DirectionsMatrix <- R6::R6Class(
  'DirectionsMatrix',
  public = list(
    `code` = NULL,
    `distances` = NULL,
    `fallback_speed_cells` = NULL,
    `sources` = NULL,
    `destinations` = NULL,
    initialize = function(`code`=NULL, `distances`=NULL, `fallback_speed_cells`=NULL, `sources`=NULL, `destinations`=NULL, ...){
      local.optional.var <- list(...)
      if (!is.null(`code`)) {
        stopifnot(is.character(`code`), length(`code`) == 1)
        self$`code` <- `code`
      }
      if (!is.null(`distances`)) {
        stopifnot(is.vector(`distances`), length(`distances`) != 0)
        sapply(`distances`, function(x) stopifnot(is.character(x)))
        self$`distances` <- `distances`
      }
      if (!is.null(`fallback_speed_cells`)) {
        stopifnot(is.vector(`fallback_speed_cells`), length(`fallback_speed_cells`) != 0)
        sapply(`fallback_speed_cells`, function(x) stopifnot(is.character(x)))
        self$`fallback_speed_cells` <- `fallback_speed_cells`
      }
      if (!is.null(`sources`)) {
        stopifnot(is.vector(`sources`), length(`sources`) != 0)
        sapply(`sources`, function(x) stopifnot(R6::is.R6(x)))
        self$`sources` <- `sources`
      }
      if (!is.null(`destinations`)) {
        stopifnot(is.vector(`destinations`), length(`destinations`) != 0)
        sapply(`destinations`, function(x) stopifnot(R6::is.R6(x)))
        self$`destinations` <- `destinations`
      }
    },
    toJSON = function() {
      DirectionsMatrixObject <- list()
      if (!is.null(self$`code`)) {
        DirectionsMatrixObject[['code']] <-
          self$`code`
      }
      if (!is.null(self$`distances`)) {
        DirectionsMatrixObject[['distances']] <-
          self$`distances`
      }
      if (!is.null(self$`fallback_speed_cells`)) {
        DirectionsMatrixObject[['fallback_speed_cells']] <-
          self$`fallback_speed_cells`
      }
      if (!is.null(self$`sources`)) {
        DirectionsMatrixObject[['sources']] <-
          lapply(self$`sources`, function(x) x$toJSON())
      }
      if (!is.null(self$`destinations`)) {
        DirectionsMatrixObject[['destinations']] <-
          lapply(self$`destinations`, function(x) x$toJSON())
      }

      DirectionsMatrixObject
    },
    fromJSON = function(DirectionsMatrixJson) {
      DirectionsMatrixObject <- jsonlite::fromJSON(DirectionsMatrixJson)
      if (!is.null(DirectionsMatrixObject$`code`)) {
        self$`code` <- DirectionsMatrixObject$`code`
      }
      if (!is.null(DirectionsMatrixObject$`distances`)) {
        self$`distances` <- ApiClient$new()$deserializeObj(DirectionsMatrixObject$`distances`, "array[numeric]", loadNamespace("locationiq"))
      }
      if (!is.null(DirectionsMatrixObject$`fallback_speed_cells`)) {
        self$`fallback_speed_cells` <- ApiClient$new()$deserializeObj(DirectionsMatrixObject$`fallback_speed_cells`, "array[numeric]", loadNamespace("locationiq"))
      }
      if (!is.null(DirectionsMatrixObject$`sources`)) {
        self$`sources` <- ApiClient$new()$deserializeObj(DirectionsMatrixObject$`sources`, "array[DirectionsMatrixSources]", loadNamespace("locationiq"))
      }
      if (!is.null(DirectionsMatrixObject$`destinations`)) {
        self$`destinations` <- ApiClient$new()$deserializeObj(DirectionsMatrixObject$`destinations`, "array[DirectionsMatrixSources]", loadNamespace("locationiq"))
      }
    },
    toJSONString = function() {
      jsoncontent <- c(
        if (!is.null(self$`code`)) {
        sprintf(
        '"code":
          "%s"
                ',
        self$`code`
        )},
        if (!is.null(self$`distances`)) {
        sprintf(
        '"distances":
           [%s]
        ',
        paste(unlist(lapply(self$`distances`, function(x) paste0('"', x, '"'))), collapse=",")
        )},
        if (!is.null(self$`fallback_speed_cells`)) {
        sprintf(
        '"fallback_speed_cells":
           [%s]
        ',
        paste(unlist(lapply(self$`fallback_speed_cells`, function(x) paste0('"', x, '"'))), collapse=",")
        )},
        if (!is.null(self$`sources`)) {
        sprintf(
        '"sources":
        [%s]
',
        paste(sapply(self$`sources`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE, digits = NA)), collapse=",")
        )},
        if (!is.null(self$`destinations`)) {
        sprintf(
        '"destinations":
        [%s]
',
        paste(sapply(self$`destinations`, function(x) jsonlite::toJSON(x$toJSON(), auto_unbox=TRUE, digits = NA)), collapse=",")
        )}
      )
      jsoncontent <- paste(jsoncontent, collapse = ",")
      paste('{', jsoncontent, '}', sep = "")
    },
    fromJSONString = function(DirectionsMatrixJson) {
      DirectionsMatrixObject <- jsonlite::fromJSON(DirectionsMatrixJson)
      self$`code` <- DirectionsMatrixObject$`code`
      self$`distances` <- ApiClient$new()$deserializeObj(DirectionsMatrixObject$`distances`, "array[numeric]", loadNamespace("locationiq"))
      self$`fallback_speed_cells` <- ApiClient$new()$deserializeObj(DirectionsMatrixObject$`fallback_speed_cells`, "array[numeric]", loadNamespace("locationiq"))
      self$`sources` <- ApiClient$new()$deserializeObj(DirectionsMatrixObject$`sources`, "array[DirectionsMatrixSources]", loadNamespace("locationiq"))
      self$`destinations` <- ApiClient$new()$deserializeObj(DirectionsMatrixObject$`destinations`, "array[DirectionsMatrixSources]", loadNamespace("locationiq"))
      self
    }
  )
)
location-iq/locationiq-r-client documentation built on Feb. 28, 2020, 9:42 p.m.