R/checksolClass.R

Defines functions checksol

Documented in checksol

#  checksolClass.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/>.


# checksolClass


#------------------------------------------------------------------------------#
#                   definition of the class checksol                           #
#------------------------------------------------------------------------------#

setClass("checksol",
         representation(
              num_of_prob    = "integer",
              exit_code      = "integer",
              exit_num       = "integer",
              exit_meaning   = "character",
              status_code    = "integer",
              status_num     = "integer",
              status_meaning = "character"
        )
)


#------------------------------------------------------------------------------#
#                              user constructor                                #
#------------------------------------------------------------------------------#

checksol <- function() {
    new("checksol")
}


#------------------------------------------------------------------------------#
#                            setters and getters                               #
#------------------------------------------------------------------------------#

# num_of_prob
setMethod("num_of_prob", signature(object = "checksol"),
          function(object) {
              return(object@num_of_prob)
          }
)

setReplaceMethod("num_of_prob", signature(object = "checksol"),
                 function(object, value) {
                     object@num_of_prob <- value
                     return(object)
                 }
)


# exit_code
setMethod("exit_code", signature(object = "checksol"),
          function(object) {
              return(object@exit_code)
          }
)

setReplaceMethod("exit_code", signature(object = "checksol"),
                 function(object, value) {
                     object@exit_code <- value
                     return(object)
                 }
)


# exit_num
setMethod("exit_num", signature(object = "checksol"),
          function(object) {
              return(object@exit_num)
          }
)

setReplaceMethod("exit_num", signature(object = "checksol"),
                 function(object, value) {
                     object@exit_num <- value
                     return(object)
                 }
)


# exit_meaning
setMethod("exit_meaning", signature(object = "checksol"),
          function(object) {
              return(object@exit_meaning)
          }
)

setReplaceMethod("exit_meaning", signature(object = "checksol"),
                 function(object, value) {
                     object@exit_meaning <- value
                     return(object)
                 }
)


# status_code
setMethod("status_code", signature(object = "checksol"),
          function(object) {
              return(object@status_code)
          }
)

setReplaceMethod("status_code", signature(object = "checksol"),
                 function(object, value) {
                     object@status_code <- value
                     return(object)
                 }
)


# status_num
setMethod("status_num", signature(object = "checksol"),
          function(object) {
              return(object@status_num)
          }
)

setReplaceMethod("status_num", signature(object = "checksol"),
                 function(object, value) {
                     object@status_num <- value
                     return(object)
                 }
)



# status_meaning
setMethod("status_meaning", signature(object = "checksol"),
          function(object) {
              return(object@status_meaning)
          }
)

setReplaceMethod("status_meaning", signature(object = "checksol"),
                 function(object, value) {
                     object@status_meaning <- value
                     return(object)
                 }
)


#------------------------------------------------------------------------------#
#                               other methods                                  #
#------------------------------------------------------------------------------#

setMethod("show", signature(object = "checksol"),
    function(object) {
        cat("Return code:\n")
        cat(" Code    #       meaning\n")
        tmp <- sprintf(" %-8i%-8i%s\n",
                       exit_code(object),
                       exit_num(object),
                       exit_meaning(object))
        cat(tmp, sep = "")

        cat("\n")
        cat("Solution status:\n")
        cat(" Code    #       meaning\n")

        tmp <- sprintf(" %-8i%-8i%s\n",
                       status_code(object),
                       status_num(object),
                       status_meaning(object))
        cat(tmp, sep = "")
        num <- num_of_prob(object)
        if (num > 1) {
            cat("\n", num, " optimizations were performed.\n", sep = "")
        }
    }
)

Try the sybil package in your browser

Any scripts or data that you put into this service are public.

sybil documentation built on May 31, 2021, 5:08 p.m.