-
Notifications
You must be signed in to change notification settings - Fork 0
/
BlocoDeControleDeProcessos.java
110 lines (77 loc) · 2.38 KB
/
BlocoDeControleDeProcessos.java
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
import java.util.*;
public class BlocoDeControleDeProcessos implements Comparable<BlocoDeControleDeProcessos>{
private int contadorPrograma, tempoEspera, nomeArquivo;
private String nomePrograma, estadoProcesso;
private int[] registradores = new int[2];
private List<String> instrucoesDoPrograma = new ArrayList<>();
/*
* Gerencia a lista de processos que estao na tabela de processos.
* O BCP vai ser uma classe possuindo informacoes dos programas.
* E a tabela de processos sera um ArrayList guardando esses blocos.
*/
public BlocoDeControleDeProcessos(){};
public BlocoDeControleDeProcessos(List<String> instrucoesDoPrograma, int nomeArquivo){
this.instrucoesDoPrograma = instrucoesDoPrograma;
this.nomePrograma = instrucoesDoPrograma.remove(0);
this.estadoProcesso = "Pronto";
this.nomeArquivo = nomeArquivo;
}
public void imprimeListaInstrucoes(){
for(String x : instrucoesDoPrograma){
System.out.println(x);
}
}
@Override
public int compareTo(BlocoDeControleDeProcessos bloco){
return nomeArquivo - bloco.nomeArquivo;
}
@Override
public String toString(){
return nomePrograma + " - PC: [" + contadorPrograma + "/" + instrucoesDoPrograma.size() + "] - Tempo Espera: " + tempoEspera + " - Estado: " + estadoProcesso + "\n";
}
//////////////////////////////////////////////
// GETs e SETs //
//////////////////////////////////////////////
public int getRegistradorX(){
return this.registradores[0];
}
public int getRegistradorY(){
return this.registradores[1];
}
public void setRegistradorX(int x){
this.registradores[0] = x;
}
public void setRegistradorY(int y){
this.registradores[1] = y;
}
public List<String> getInstrucoesDoPrograma(){
return this.instrucoesDoPrograma;
}
public int getContador(){
return this.contadorPrograma;
}
public void setContador(int valor){
this.contadorPrograma = valor;
}
public String getNomePrograma(){
return this.nomePrograma;
}
public int getTempoEspera(){
return this.tempoEspera;
}
public void setTempoEspera(int tempo){
this.tempoEspera += tempo;
}
public void decrementaTempoEspera(){
this.tempoEspera--;
}
public void incrementaContador(){
this.contadorPrograma++;
}
public void setEstadoProcesso(String novoEstado){
estadoProcesso = novoEstado;
}
public int getNomeArquivo(){
return nomeArquivo;
}
}