\name{RJavaSignature-class}
\docType{class}
\alias{RJavaSignature-class}
\alias{show,RJavaSignature-method}
\title{String representations of R type signatures from R functions}

\description{Class "RJavaSignature" contains elements of java-style
  function signature, including return type, function name, and argument
  names/types

  Create this class using \code{\link{typeInfo2Java}}.
}
\section{Slots}{
  \describe{
    \item{\code{returnType}}{Character string describing the return type of the function. This must be defined.}
    \item{\code{funcName}:}{Function name as character string.}
    \item{\code{args}:}{Vector of character strings providing argument types. Argument names are stored as \code{name} attributes.}
  }
}
\author{MT Morgan <mtmorgan@fhcrc.org> }
\seealso{\code{link{typeInfo2Java}}}

\examples{
library(RWebServices)

oneWayAnova <- function( response, predictor ) {
    if ( is.character( predictor )) 
        return( oneWayAnova( response, as.factor( predictor )))
    formula <- as.formula( substitute( response ~ predictor ))
    result <- lm( formula )
    anova( result )
}

typeInfo(oneWayAnova) <-
  SimultaneousTypeSpecification(
    TypedSignature(
      response = "numeric",
      predictor = "factor"),
    TypedSignature(
      response = "numeric",
      predictor = "character"),
    returnType = "anova" )

res <- typeInfo2Java(oneWayAnova)

res

summary(res)

}
\keyword{classes}