newMapper {datamap} | R Documentation |
A mapper is a collection of functions that define how a type
of foreign object is accessed. newMapper
creates a new
mapper object, assigns it a type, and places it in the global
Mapper database.
newMapper( type=NULL, init=NULL, get=NULL, assign=NULL, finalize=NULL, ...)
type |
Character vector length one describing the unique type of foreign objects available through the new mapper. |
init |
A function whose signature is |
get |
A function whose signature is |
assign |
A function whose signature is |
finalize |
A function whose signature is |
... |
Additional objects that are also added to the mapper environment. They MUST be named arguments, i.e. name=val. |
Invisibly returns the new mapper, an object of class
'dataMapper'. newMapper
is called for its side effect of
adding the new mapper to the global Mapper database.
# Complete example mapper newMapper( type="EXAMPLE", init=function(map,symbols=c('foo','bar','baz'),len=3){ # Install symbols that the users passes in from newMap(). lapply(symbols,install,map) # Now let's add some state to the internal portion of our map. map$len <- len # Returning FALSE means failure return(TRUE) }, get = function(x) { cat("I'll just get",x,"for you.\n") # len is pulled from the internal portion of the map # by lexical scoping rules. Anything can be returned here, but we # default to a numeric value rnorm(len) }, assign = function(x,val){ cat("Calling assign",val,"to",x,".\n") }, finalize = function(map){ cat("Finalization can clear any state, like shutting down database\n") cat("connections, socket connections, etc.\n") }, # The rest of the arguments are copied to the internal portion of the map. foo = 'bar' )