R/Database.R

Defines functions database

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)
          }
)
jimjonesbr/sdd documentation built on May 19, 2019, 10:34 a.m.