# mzTab-M reference implementation and validation API.
#
# This is the mzTab-M reference implementation and validation API service.
#
# The version of the OpenAPI document: 2.0.0
# Contact: nils.hoffmann@cebitec.uni-bielefeld.de
# Generated by: https://openapi-generator.tech
#' @docType class
#' @title OptColumnMapping
#' @description OptColumnMapping Class
#' @format An \code{R6Class} generator object
#' @field identifier character
#'
#' @field param \link{Parameter} [optional]
#'
#' @field value character [optional]
#'
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
OptColumnMapping <- R6::R6Class(
'OptColumnMapping',
public = list(
`identifier` = NULL,
`param` = NULL,
`value` = NULL,
#' @description Create an OptColumnMapping
#' @param identifier The Identifier for the mapping.
#' @param param The CV \link{Parameter} defining the type of the value.
#' @param value The value.
#' @param ... local optional variable arguments
#'
initialize = function(`identifier`, `param`=NULL, `value`=NULL, ...){
local.optional.var <- list(...)
if (!missing(`identifier`)) {
stopifnot(is.character(`identifier`), length(`identifier`) == 1)
self$`identifier` <- `identifier`
}
if (!is.null(`param`)) {
stopifnot(R6::is.R6(`param`))
self$`param` <- `param`
}
if (!is.null(`value`)) {
stopifnot(is.character(`value`), length(`value`) == 1)
self$`value` <- `value`
}
},
#' @description Serialize to list object suitable for jsonlite
toJSON = function() {
OptColumnMappingObject <- list()
if (!is.null(self$`identifier`)) {
OptColumnMappingObject[['identifier']] <-
rmzTabM::safe_unbox(self$`identifier`)
}
if (!is.null(self$`param`)) {
OptColumnMappingObject[['param']] <-
self$`param`$toJSON()
}
if (!is.null(self$`value`)) {
OptColumnMappingObject[['value']] <-
rmzTabM::safe_unbox(self$`value`)
}
OptColumnMappingObject
},
#' @description Deserialize from jsonlite list object
#' @param OptColumnMappingJson list object.
fromJSON = function(OptColumnMappingJson) {
OptColumnMappingObject <- jsonlite::fromJSON(OptColumnMappingJson)
if (!is.null(OptColumnMappingObject$`identifier`)) {
self$`identifier` <- OptColumnMappingObject$`identifier`
}
if (!is.null(OptColumnMappingObject$`param`)) {
paramObject <- Parameter$new()
paramObject$fromJSON(jsonlite::toJSON(OptColumnMappingObject$param, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`param` <- paramObject
}
if (!is.null(OptColumnMappingObject$`value`)) {
self$`value` <- OptColumnMappingObject$`value`
}
},
#' @description Serialize to JSON string.
toJSONString = function() {
jsoncontent <- c(
if (!is.null(self$`identifier`)) {
sprintf(
'"identifier":
"%s"
',
rmzTabM::safe_unbox(self$`identifier`)
)},
if (!is.null(self$`param`)) {
sprintf(
'"param":
%s
',
jsonlite::toJSON(self$`param`$toJSON(), auto_unbox=FALSE, null = "null", na = "null", digits = NA)
)},
if (!is.null(self$`value`)) {
sprintf(
'"value":
"%s"
',
rmzTabM::safe_unbox(self$`value`)
)}
)
jsoncontent <- paste(jsoncontent, collapse = ",")
paste('{', jsoncontent, '}', sep = "")
},
#' @description Deserialize from JSON string
#' @param OptColumnMappingJson JSON string
fromJSONString = function(OptColumnMappingJson) {
OptColumnMappingObject <- jsonlite::fromJSON(OptColumnMappingJson)
self$`identifier` <- OptColumnMappingObject$`identifier`
self$`param` <- Parameter$new()$fromJSONString(jsonlite::toJSON(OptColumnMappingObject$param, auto_unbox = TRUE, null = "null", na = "null", digits = NA))
self$`value` <- OptColumnMappingObject$`value`
self
},
#' @description Serialize to string
toString = function() {
optStr <- ""
if (!is.null(self$`identifier`)) {
if (startsWith(self$`identifier`, "global")) {
optStr <- paste("opt", self$`identifier`, sep = "_")
if (!is.null(self$`param`)) {
optStr <- paste(optStr, "cv", self$`param`$`cv_accession`, gsub(" ", "_", self$`param`$`name`, fixed=TRUE), sep="_")
}
} else {
optStr <- paste(self$`identifier`, sep = "_")
}
}
optStr
},
#' @description Deserialize from string
#' @param OptColumnMappingString The string representation to deserialize
fromString = function(OptColumnMappingString) {
# if (rlang::has_name(PublicationDataFrame, "id")) {
# self$`id` <- PublicationDataFrame$`id`
# }
# if (rlang::has_name(PublicationDataFrame, "name")) {
# pubItemsList <- splitList(PublicationDataFrame$`name`)
# self$`publicationItems` <- lapply(pubItemsList, function(x){
# pubItem <- PublicationItem$new()
# pubItem$fromString(x)
# pubItem
# })
# }
warning("fromString not implemented yet!")
self
}
)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.