R/AutresPassifs-internal.R

#----------------------------------------------------------------------------------------------------------------------------------------------------
#           Fonction d'initialisation
#----------------------------------------------------------------------------------------------------------------------------------------------------

# Initialisateur : permet de construire l'objet initial, selon 2 cas :
#           - Objet renseigne.
#           - Erreur autrement
setMethod(
  f = "initialize",
  signature = "AutresPassifs",
  definition = function(.Object, mp = data.frame()) {
    if (!missing(mp)) {
      .Object@mp <- mp

      # Validation du format
      validObject(.Object)
    } else {
      # Traitement du cas vide
      .Object@mp <- data.frame(
        annee = numeric(),
        prime = numeric(),
        prestation = numeric(),
        frais = numeric(),
        pm_deb = numeric(),
        pm_fin = numeric(),
        it = numeric()
      )
    }
    # Output
    return(.Object)
  }
)

#----------------------------------------------------------------------------------------------------------------------------------------------------
#           Getteur et Setteur
#----------------------------------------------------------------------------------------------------------------------------------------------------
# Getteur
setMethod(
  f = "[",
  signature = "AutresPassifs",
  definition = function(x, i) {
    switch(EXPR = i,
      "mp" = {
        return(x@mp)
      },
      stop("Cet attribut n'existe pas!")
    )
  }
)


# Setteur
setReplaceMethod(
  f = "[",
  signature = "AutresPassifs",
  definition = function(x, i, value) {
    switch(EXPR = i,
      "mp" = {
        x@mp <- value
      },
      stop("Cet attribut n'existe pas!")
    )
    validObject(x)
    return(x)
  }
)
qguibert/SimBEL documentation built on Sept. 5, 2023, 3:49 a.m.