StatusInterno.java 3.39 KB
   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
/*
* Cristiano Gurgel
*
* Projeto: Circus Refine
*/
package circusRefine.storage;

import java.util.LinkedList;

import net.sourceforge.czt.base.ast.Term;
import circusRefine.core.UndoRedoTerms;

/**
* Armazena o status do gerenciador interno do Circus Refine.
* Utilizado no salvamento de um programa
*
* @author Cristiano Gurgel
* @version 1.1 22/12/06
*/
public class StatusInterno {

/** A AST atual do desenvolvimento */
private Term programaAtual;
/** A pilha para o Undo */
private LinkedList<UndoRedoTerms> undo;
/** A pilha para o Redo */
private LinkedList<UndoRedoTerms> redo;
/** O id corrente */
private int id;
/** O id pai corrente */
private int idPai;
/**
* Inicializa o status interno com valores inciais padrao.
*/
public StatusInterno() {
this(null, null, null, 0, -1);
}
/**
* Inicializa o StatusInterno com valores iniciais definidos.
*
* @param prog o termo representando o programa atual
* @param pilhaUndo a pilha com os termos do undo
* @param pilhaRedo a pilha com os termos do redo
* @param idProg o id corrente do programa
* @param idProgPai o id corrente do programa pai
*/
public StatusInterno(Term prog, LinkedList<UndoRedoTerms> pilhaUndo,
LinkedList<UndoRedoTerms> pilhaRedo, int idProg, int idProgPai) {
this.setProgramaAtual(prog);
this.setUndo(pilhaUndo);
this.setRedo(pilhaRedo);
this.setId(idProg);
this.setIdPai(idProgPai);
}
/**
* Acessa a AST com o programa atual do refinamento
*
* @return o termo representado a AST com o estagio atual do
* refinamento
*/
public Term getProgramaAtual() {
return programaAtual;
}
/**
* Seta o programa atual do refinamento.
*
* @param programaAtual o novo termo que representa a raiz da
* AST
*/
public void setProgramaAtual(Term programaAtual) {
this.programaAtual = programaAtual;
}
/**
* Acessa a pilha com os elementos de undo.
*
* @return a pilha de undo do gerenciador interno
*/
public LinkedList<UndoRedoTerms> getUndo() {
return undo;
}
/**
* Seta a pilha de undo do StatusInterno
*
* @param undo a nova pilha de undo vinda do gerenciador interno
*/
public void setUndo(LinkedList<UndoRedoTerms> undo) {
this.undo = undo;
}
/**
* Acessa a pilha de redo do StatusInterno
*
* @return a pilha com os elementos de redo
*/
public LinkedList<UndoRedoTerms> getRedo() {
return redo;
}
/**
* Seta a pilha de redo do StatusInterno
*
* @param redo a nova pilha de redo advinda do gerenciador
* interno
*/
public void setRedo(LinkedList<UndoRedoTerms> redo) {
this.redo = redo;
}
/**
* Acessa o id do programa atual
*
* @return o id atual do status do gerenciador interno
*/
public int getId() {
return id;
}
/**
* Seta o id atual do gerenciador interno
*
* @param id o novo id do status do gerenciador interno
*/
public void setId(int id) {
this.id = id;
}
/**
* Acessa o campo idPai do status do Gerenciador Interno
*
* @return o idPai atual do status do gerenciador interno
*/
public int getIdPai() {
return idPai;
}
/**
* Seta o idPai atual do Status do Gerenciador Interno
*
* @param idPai o novo idPai do gerenciador interno
*/
public void setIdPai(int idPai) {
this.idPai = idPai;
}
}