KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > cve > esecutori > components > specificaSem > Association


1 /*
2 * @(#)Association.java 1.00 03/12/03
3 *
4 * @Author Francesco Guerrisi
5 */

6 package cve.esecutori.components.specificaSem;
7
8 import java.util.*;
9
10 import cve.staticLayout.*;
11
12 import org.apache.log4j.Logger;
13
14 /**
15 * Questa Classe definsce i servizi per la gestione
16 * di un'associazione tra una Regola Sintattica ed una Semantica
17 *
18 */

19 public class Association {
20
21    private String JavaDoc idSentence;
22    private String JavaDoc idAss;
23    private String JavaDoc idSem;
24
25    //HashMap costituita da (risorsa, Vettore di parameter)
26
// il Vettore parameter è costituito da (nome,valore,nome,valore,...)
27
private HashMap resource;
28
29    public Association(){
30       Cve.errLog.debug("");
31       resource = new HashMap();
32    }
33
34    public void setIdSentence(String JavaDoc idSent){
35       Cve.errLog.debug("");
36       this.idSentence = idSent;
37    }
38
39    public String JavaDoc getIdSentence(){
40       Cve.errLog.debug("");
41       return this.idSentence;
42    }
43
44    public void setIdAss(String JavaDoc id){
45       Cve.errLog.debug("");
46       this.idAss = id;
47    }
48
49    public String JavaDoc getIdAss(){
50       Cve.errLog.debug("");
51       return this.idAss;
52    }
53
54
55    public void setIdSem(String JavaDoc id){
56       Cve.errLog.debug("");
57       this.idSem = id;
58    }
59
60    public String JavaDoc getIdSem(){
61       Cve.errLog.debug("");
62       return this.idSem;
63    }
64
65    public void putResource(String JavaDoc res, Vector parameter){
66       this.resource.put(res, parameter);
67       Cve.errLog.debug("");
68    }
69
70    public HashMap getResource(){
71       Cve.errLog.debug("");
72       return this.resource;
73    }
74
75    //Impostazione di un parametro
76
public void setParameter(String JavaDoc parameter, String JavaDoc value){
77
78       //Prelevo la risorsa
79
String JavaDoc appo_res;
80       Vector appo_par;
81
82       //LOGICA: Vengono impostati i Valori dei Parametri di TUTTE LE RISORSE
83
// che rispondono a quel nome
84
Cve.errLog.debug("");
85       //Scorrimento di tutte le Risorse
86
Set setResource = resource.keySet();
87       Iterator resIt = setResource.iterator();
88       while (resIt.hasNext()){
89          //Prelevo Risorsa
90
appo_res = (String JavaDoc)resIt.next();
91          //Prelevo Vettore Parametri
92
appo_par = (Vector)resource.get(appo_res);
93          //Scorrimento Parametri per ricerca parametro
94
int i=0;
95          boolean trovato = false;
96          while (i < appo_par.size()-1){
97             if (appo_par.get(i).equals(parameter)){
98                //Impostazione Valore
99
i = i+1;
100                appo_par.set(i,value);
101                trovato=true;
102             }
103             //Controllo scorrimento indici
104
if (trovato){
105                i = i+1;
106                trovato = false;
107             }else{
108             i = i+2;
109          }
110       } //fine scorrimento parametri
111
//Aggiornamento HashTable resource
112
//Cancello vecchia associazione
113
resource.remove(appo_res);
114       //Inserisco nuova associazione
115
putResource(appo_res,appo_par);
116    }//fine scorrimento risorse
117

118 }
119
120
121
122 }
Popular Tags