Skip to content
Snippets Groups Projects
Select Git revision
  • f04aaf315ba00a59c68eb967d780f2d7dae338be
  • master default protected
  • dev
  • sybilNLO
  • gprBug
  • maximumtotalflux
  • easyConstraint
  • switchbug
  • thuong
  • momafix
  • rmReactBug
11 results

sybilErrorClass.R

  • user avatar
    Claus Jonathan Fritzemeier authored
    ce28f8a5
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    sybilErrorClass.R 3.80 KiB
    #  sybilErrorClass.R
    #  FBA and friends with R.
    #
    #  Copyright (C) 2010-2014 Gabriel Gelius-Dietrich, Dpt. for Bioinformatics,
    #  Institute for Informatics, Heinrich-Heine-University, Duesseldorf, Germany.
    #  All right reserved.
    #  Email: geliudie@uni-duesseldorf.de
    #
    #  This file is part of sybil.
    #
    #  Sybil is free software: you can redistribute it and/or modify
    #  it under the terms of the GNU General Public License as published by
    #  the Free Software Foundation, either version 3 of the License, or
    #  (at your option) any later version.
    #
    #  Sybil is distributed in the hope that it will be useful,
    #  but WITHOUT ANY WARRANTY; without even the implied warranty of
    #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    #  GNU General Public License for more details.
    #
    #  You should have received a copy of the GNU General Public License
    #  along with sybil.  If not, see <http://www.gnu.org/licenses/>.
    
    
    # sybilErrorClass
    
    
    #------------------------------------------------------------------------------#
    #                     definition of the class sybilError                       #
    #------------------------------------------------------------------------------#
    
    setClass("sybilError",
             representation(
                  emsg = "character",
                  enum = "integer"
             )
    )
    
    
    #------------------------------------------------------------------------------#
    #                              user constructor                                #
    #------------------------------------------------------------------------------#
    
    sybilError <- function(errmsg = "", number = NA) {
    
        msg <- paste(errmsg, collapse = " ")
    
        obj <- new(Class = "sybilError",
                   emsg = as.character(msg),
                   enum = as.integer(number)
        )
    
        return(obj)
    }
    
    
    #------------------------------------------------------------------------------#
    #                            default constructor                               #
    #------------------------------------------------------------------------------#
    
    setMethod(f = "initialize",
              signature = "sybilError",
              definition = function(.Object, emsg, enum) {
    
        if (missing(emsg)) {
            stop("creation of instances of class sybilError needs a message")
        }
        else {}
    
        if (missing(enum)) {
            enum <- NA
        }
        else {}
    
        .Object@emsg = as.character(emsg)
        .Object@enum = as.integer(enum)
    
        validObject(.Object)
        return(.Object)
    }
    )
    
    
    #------------------------------------------------------------------------------#
    #                            setters and getters                               #
    #------------------------------------------------------------------------------#
    
    # msg
    setMethod(f = "emsg",
              signature = "sybilError",
              definition = function(object) {
                  return(object@emsg)
              }
    )
    
    setReplaceMethod(f = "emsg",
                     signature = "sybilError",
                     definition = function(object, value) {
                         object@emsg <- value
                         return(object)
                     }
    )
    
    
    # num
    setMethod(f = "enum",
              signature = "sybilError",
              definition = function(object) {
                  return(object@enum)
              }
    )
    
    setReplaceMethod(f = "enum",
                     signature = "sybilError",
                     definition = function(object, value) {
                         object@enum <- value
                         return(object)
                     }
    )
    
    
    #------------------------------------------------------------------------------#
    #                               other methods                                  #
    #------------------------------------------------------------------------------#
    
    setMethod("show", signature(object = "sybilError"),
        function(object) {
            cat("error no.:", enum(object), "\n")
            cat(emsg(object), "\n")
        }
    )