Description Usage Arguments Details Value Author(s) See Also Examples
createMap
extracts type information from R function
definitions, and uses this to create Java-style function calls with
appropriately typed arguments. Types are then converted to Java
objects.
A side effect is to create or modify a directory structure in the current working directory containing Java class information.
There are three methods defined:
createMap(standardGeneric, missing, ...)
Intended to dispatch on S4 generics, creating maps for all currently visible methods.
createMap(character, missing, ...)
Intended to dispatch on a character vector of function names, creating maps for each function.
createMap(missing, pkgs=character, ...)
Inteded to map
all functions in pkgs
with typeInfo
applied. pkgs
can be a character vecorr of package names,
or in conjunction with the argument splitPkgsToVector=TRUE
a comma-delimited list of packages. The latter behavior is meant
to faciliate use with the ant
command line, as
ant -Dpkg=caDNAcopy,caPROcess gen-map-from-package
.
1 2 3 4 5 6 7 8 9 10 | createMap(funcs, pkgs, generateTests = TRUE,
outputDirectory = stop("specify outputDirectory"),
typeMode = "javalib", deployMode = "jms",
verbose = FALSE, ...)
## S4 method for signature 'missing,character'
createMap(funcs, pkgs, generateTests = TRUE,
outputDirectory = stop("specify outputDirectory"),
typeMode = "javalib", deployMode = "jms",
verbose = FALSE, splitPkgsToVector=TRUE, ...,
extraClasses=character())
|
funcs |
Function or list of functions with typeInfo already applied, or S4 generic method. |
pkgs |
Character string or vector of package names. Package namespaces are parsed for functions with TypeInfo, and R-Java maps are created for these. |
generateTests |
Logical. Should test code be generated? |
outputDirectory |
Directory where Java hierarchy will be created. |
typeMode |
Character, either "robject" or "javalib". How Java
objects should be generated; see |
deployMode |
Character, either "demo" or "jms". How the service will be deployed. "demo" is no longer supported. |
verbose |
Print information during mapping generationg; useful for debugging. |
... |
Additional arguments, e.g., |
splitPkgsToVector |
Parse |
extraClasses |
A character vector of extra classes to map, in
addition to those specified in the TypeInfo
signature. |
createMap
operates either on functions with
typeInfo
applied, or on S4 generic
methods.
Some coercion occurs with typeInfo
functions. All signatures
have an explict return type.
IndependentTypeSpecification
classes are 'expanded' to a complete set of typed signatures.
Function signatures for S4 methods are created from information used
in generic method construction, supplemented by an optional default
type signature supplied as a named argument S4DefaultTypedSig
. Each method defined for a
generic results in a Java signature. Arguments used for method
dispatch are typed according to the dispatch rules for the
function. Return types are determined by the valueClass
of the
generic (the valueClass
of methods seem not to defined,
despite what the documentation indicates). Default values for other
arguments, and for return values if valueClass
is not used, can
be created with a
TypedSignature
passed as
a named argument S4DefaultTypedSig
. Values implied by S4 method
definitions override the defaults.
See typeInfo2Java
for additional information on how
conversion occurs.
Primarily inovkes for the side-effect of creating a java class
hierarchy reflecting the data and methods present in the call to
createMap
. Returns a list of Java signatures function definitions..
Martin Morgan <mtmorgan@fhcrc.org>
createMap,missing,character-method
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | library(RWebServices)
## S4
## Not run:
setClass("A", representation(x="character"))
setGeneric("foo", function(obj) standardGeneric("foo"))
setMethod("foo", "numeric", function(obj) new("A", x=as.character(obj)))
setMethod("foo", "character", function(obj) new("A", x=obj))
createMap(foo, outputDirectory=tempdir(), S4DefaultTypedSig=TypedSignature(returnType="A"))
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.