Blame view

circus/src/jcircus/complexcomms/AbsCommValuesGenerator.java 2.29 KB
8d0dc533f   Madiel de Souza Conserva Filho   first
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
  package jcircus.complexcomms;
  
  import java.io.BufferedWriter;
  import java.io.FileWriter;
  import java.io.IOException;
  import java.math.BigInteger;
  import java.util.HashMap;
  import java.util.Vector;
  
  public class AbsCommValuesGenerator { //Armazena todos os valores absolutos de cada canal. O acesso aos valores da comunicação serão feitos através de cada valor absoluto da especificação
  	private String code = "";
  	private String packageDecl;
  	private String path;
  	private String chanName;
  	private Vector <Vector <BigInteger>> vv;
  	public AbsCommValuesGenerator (String paper, String src, String projectDir, String specName, String chanName, Vector <Vector <BigInteger>> vv) {
  		this.packageDecl = "package " + /*specName + "." +*/ paper + "." + src + "." + paper + "." + "channels" + ";
  ";
  		//this.path = projectDir + "\\" + paper + "\\" + src + "\\" + paper + "\\channels\\Abs_" + chanName + ".java";
  		this.path = projectDir + "/" + paper + "/" + src + "/" + paper + "/channels/Abs_" + chanName + ".java";
  		this.chanName = chanName;
  		this.vv = vv;
  	}
  
  	public void concatCode (String str) {
  		this.code = this.code + str;
  	}
  	public String totalCode () {
  		return
  		this.packageDecl +
  		"import java.util.HashMap;
  " +
  		"import java.math.BigInteger;
  " +
  		"import java.util.Vector;
  " +
  		"public class Abs_" + chanName + /*"_" + this.index +*/ " {
  " +
  		/*"	public HashMap <String, Vector <Vector <BigInteger>>> env_channels = new HashMap <String, Vector <Vector <BigInteger>>> ();
  "	+
  		"	Vector <BigInteger> subSet;
  " +
  		"	Vector <Vector <BigInteger>> set;
  " +*/
  		"	public int abs (String chan, int element, BigInteger bi) {
  " +
  		"		return this.env_channels.get(chan).elementAt(element).indexOf(bi);
  " +
  		"	}
  " +
  		"	/*public String toString (String chan, int element, ) {
  " +
  		"		" +
  		"	}
  */" +
  		"	public Abs_" + this.chanName + "() {
  " +
  		"		makeEnvChannels ();
  " +
  		"	}
  " +
  		CCUtil.makeEnvChannelsCode(this.chanName, this.vv) +
  		/*"		env_channels.put (\"" + this.chanName + "\", " + "set" + ");
  " +*/
  
  		this.code
  		+ "}
  ";
  	}
  	public void generate() {
  		try {
  			BufferedWriter bw = new BufferedWriter (new FileWriter (this.path));
  			bw.write(this.totalCode());
  			bw.close();
  		} catch (IOException e) {
  			e.printStackTrace();
  		}
  	}
  }