R/hdfs.R

Defines functions c.hinput hinput hpath

Documented in c.hinput hinput hpath

hpath <- function(path) structure(path, class="HDFSpath")

hinput <- function(path, formatter=.default.formatter)
  structure(path, class=c("hinput", "HDFSpath"), formatter=formatter)

c.hinput = function(..., recursive = FALSE) {
  if(!all(sapply(list(...), function(v) all.equal(attr(v, "class"), c("hinput", "HDFSpath"))) == TRUE)) {
    warning("Using default combine function as not all objects are of class hinput")
    return(c(sapply(list(...), function(v) as.character(v))))
  }
  formatters = sapply(list(...), function(v) attr(v, "formatter"))
  if(!all(sapply(formatters, all.equal, formatters[[1]]))) {
    stop("All input objects must have the same formatters")
  }

  return(structure(unique(c(sapply(list(...), function(v) as.character(v)))),
         class=c("hinput", "HDFSpath"), formatter=formatters[[1]]))
}
s-u/hmr documentation built on June 8, 2020, 3:55 p.m.