package kalk;
/** Class que representa uma formula
@see Expressao */
public class Formula extends Expressao{
//CONSTRUTOR
/** Construtor que recebe uma <code>String</code> coma formula a associar ao objecto **/
public Formula(String formula, Celula celula){
super(formula, celula);
}
public static Formula criarFormula (String formula, Celula celula) {
if (formula.substring(1,4).equals("ADI")) return new FormulaADI(formula,celula);
if (formula.substring(1,4).equals("SUB")) return new FormulaSUB(formula,celula);
if (formula.substring(1,4).equals("MUL")) return new FormulaMUL(formula,celula);
if (formula.substring(1,4).equals("DIV")) return new FormulaDIV(formula,celula);
if (formula.substring(1,4).equals("MED")) return new FormulaMED(formula,celula);
if (formula.substring(1,5).equals("SOMA")) return new FormulaSOMA(formula,celula);
if (formula.substring(1,4).equals("MAX")) return new FormulaMAX(formula,celula);
return null; // mudar isto para atirar uma excepçao!
}
/** Metodo que diz se a expressao e' uma formula
@return <code>true</code> porque a expressao e' uma formula **/
public boolean eFormula(){
return true;
}