setClass (
Class = "Database",
representation = representation(
name = "character",
type = "character"
),
validity = function(object){
cat("~~~ Database: inspector ~~~ \n")
name <- object@name
type <- object@type
if(length(object@type) != length(object@name) && length(object@type) != 1){
stop ("[Database: validation] Only one name and one type allowed")
}else{}
return(TRUE)
}
)
#*******************************************************
#CONSTRUCTOR
setMethod (
f="initialize",
signature="Database",
definition=function(.Object,name,type){
#cat ("~~~~~ Database: initializator ~~~~~ \n")
if(!missing(name)){
if(!missing(type)){
.Object@name <- name
.Object@type <- type
validObject(.Object)# call of the inspector
}else{
.Object@type <- character(0)
}
}else{
.Object@name <- character(0)
}
return(.Object)
}
)
#CONSTRUCTOR (USER FRIENDLY)
database <- function(name,type){
cat ("~~~~~ Database: constructor ~~~~~ \n")
new (Class="Database", name = name, type = type)
}
#*******************************************************
#ACCESSORS
# Returns the object's name
#
# @docType methods
# @param object A Database object
# @export
setGeneric("getName",function(object){standardGeneric ("getName")})
setMethod("getName","Database",
function(object){
return(object@name)
}
)
setGeneric("getType",function(object){standardGeneric ("getType")})
setMethod("getType","Database",
function(object){
return(object@type)
}
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.