setClass (
Class = "Host",
representation = representation(
address = "character",
port = "character",
alias = "character"
),
validity = function(object){
cat("~~~ Host: inspector ~~~ \n")
address <- object@address
port <- object@port
alias <- object@alias
if(length(object@address) != length(object@port) && length(object@address) != length(object@alias) && length(object@password) != 1){
stop ("[Host: validation] Only one user, one password and one alias allowed")
}else{}
return(TRUE)
}
)
#*******************************************************
#CONSTRUCTOR
setMethod (
f="initialize",
signature="Host",
definition=function(.Object,name,password){
#cat ("~~~~~ Host: initializator ~~~~~ \n")
if(!missing(address)){
if(!missing(port)){
if(!missing(alias)){
.Object@address <- address
.Object@port <- port
.Object@alias <- alias
validObject(.Object)# call of the inspector
}else{
.Object@alias <- character(0)
}
}else{
.Object@port <- character(0)
}
}else{
.Object@address <- character(0)
}
return(.Object)
}
)
#CONSTRUCTOR (USER FRIENDLY)
host <- function(address,port,alias){
cat ("~~~~~ Host: constructor ~~~~~ \n")
new (Class="Host", address = address, port = port, alias = alias)
}
#*******************************************************
#ACCESSORS
setGeneric("getAddress",function(object){standardGeneric ("getAddress")})
setMethod("getAddress","Host",
function(object){
return(object@address)
}
)
setGeneric("getPort",function(object){standardGeneric ("getPort")})
setMethod("getPort","Host",
function(object){
return(object@port)
}
)
setGeneric("getAlias",function(object){standardGeneric ("getAlias")})
setMethod("getAlias","Host",
function(object){
return(object@alias)
}
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.