\name{Versioned} \docType{class} \alias{Versioned-class} \alias{Versioned} \alias{initialize,Versioned-method} \alias{isVersioned,Versioned-method} \alias{classVersion,Versioned-method} \alias{classVersion<-,Versioned,Versions-method} \alias{isCurrent,Versioned,missing-method} \alias{isCurrent,Versioned,character-method} \alias{show,Versioned-method} \title{Class "Versioned"} \description{ Use this class as a `superclass' for classes requiring information about versions. } \section{Methods}{ The following are defined; package developers may write additional methods. \describe{ \item{\code{new("Versioned", ..., versions=list())}}{Create a new \code{Versioned-class} instance, perhaps with additional named version elements (the contents of \code{versions}) added. Named elements of \code{versions} are character strings that can be coerced using \code{\link{package_version}}, or \code{package_version} instances.} \item{\code{classVersion(object)}}{Obtain version information about instance \code{object}. See \code{\link{classVersion}}.} \item{\code{classVersion(object) <- value}}{Set version information on instance \code{object} to \code{value}; useful when \code{object} is an instance of a class that contains \code{VersionClass}. See \code{\link{classVersion}}.} \item{\code{classVersion(object)["id"] <- value}}{Create or update version information \code{"id"} on instance \code{object} to \code{value}; useful when \code{object} is an instance of a class that contains \code{VersionClass}. See \code{\link{classVersion}}.} \item{\code{show(object)}}{Default method returns \code{invisible}, to avoid printing confusing information when your own class does not have a \code{show} method defined. Use \code{classVersion(object)} to get or set version information.} } } \author{Biocore} \seealso{ \code{\link{Versions-class}} } \examples{ obj <- new("Versioned", versions=list(A="1.0.0")) obj classVersion(obj) setClass("A", contains="Versioned") classVersion("A") a <- new("A") a # 'show' nothing by default classVersion(a) setClass("B", contains="Versioned", prototype=prototype(new("Versioned",versions=list(B="1.0.0")))) classVersion("B") b <- new("B") classVersion(b) classVersion(b)["B"] <- "1.0.1" classVersion(b) classVersion("B") classVersion("B") < classVersion(b) classVersion(b) == "1.0.1" setClass("C", representation(x="numeric"), contains=("VersionedBiobase"), prototype=prototype(new("VersionedBiobase", versions=c(C="1.0.1")))) setMethod("show", signature(object="C"), function(object) print(object@x)) c <- new("C", x=1:10) c classVersion(c) } \keyword{classes}