KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > cve > core > elementEEL > Osservatore


1 /**
2 * @(#) Osservatore.java
3 */

4 package cve.core.elementEEL;
5
6 import cve.core.comunicazione.*;
7
8 import interactionHandler.*;
9
10 import java.util.*;
11
12 import javax.swing.*;
13 import java.io.*;
14
15 /**
16 * Questa classe e' composto da una metodi finalizzati alla comunicazione
17 * (Presenter e Esecutore). Un Osservatore rappresenta il modello del Presenter associato.
18 * Ogni osservatore ha una componente un observer rispetto gli esecutori
19 * @see <code>Presenter</code>
20 * @see <code>Esecutore</code>
21 *
22 * @version 1.0 09/01/02
23 * @author Domenico Ventriglia
24 */

25 public abstract class Osservatore extends ABaseObject implements Observer{
26     private String JavaDoc nome;
27     
28     /**
29      * Riferimento all'esecutore collegato
30      */

31     protected Esecutore refEse;
32     
33     /**
34      * Riferimento al presenter collegato
35      */

36     protected Presenter refPre;
37     
38     /**
39      * cveCont definisce la parte visualizzabile di un osservatore,
40      * tale parte viene letta dal Presenter associato e visualizzato
41      * secondo le caratteristiche definite dall'osservatore.
42      */

43     public JPanel cveCont;
44
45     /**
46     * Controller (Mediator) legato all'osservatore
47     */

48     private Controller med;
49
50     /**
51     * Flag Maschera di Query Elemento Aperta (per gli OACesec)
52     */

53
54     /**
55     * Flag Maschera di Mapping Interazione Aperta (per gli OACesec)
56     */

57     private boolean mappingFrameIsOpen = false;
58
59     /**
60     * Flag Maschera di Query Element Aperta (per gli OACesec)
61     */

62     private boolean queryElementIsOpen = false;
63
64     
65     /* ############# METODI PUBLICI #####################
66     #################################################### */

67     
68     /**
69      * Creazione di un osservatore
70      */

71     public Osservatore () {
72         cveCont=new JPanel();
73         }
74     
75     /**
76      * Restituisce un generico container
77      */

78     public JPanel getPanel() {
79         return cveCont;
80         }
81     
82     /**
83      * Restituisce il nome dell'osservatore
84      */

85     public String JavaDoc getNome(){
86         return nome;
87         };
88     
89     /**
90      * Imposta nome dell'osservatore
91      * @param nome
92      */

93     public void setNome(String JavaDoc nome){
94         this.nome=nome;
95         };
96     
97     /**
98      * Restituisce Esecutore collegato
99      */

100     public Esecutore getEsecutore(){
101         return refEse;
102         }
103     
104     /**
105      * Imposta l'esecutore
106      * @param refEse
107      */

108     public void setEsecutore(Esecutore refEse){
109         this.refEse=refEse;
110         }
111     
112     /**
113      * Restituisce il presenter collegato
114      */

115     public Presenter getPresenter(){
116         return refPre;
117         }
118     
119     /**
120      * Imposta il presenter
121      * @param refPre
122      */

123     public void setPresenter(Presenter refPre){
124         this.refPre=refPre;
125         }
126     
127     /**
128      * Repaint del container e del presenter collegato all'osservatore
129      */

130     public void repaintAll(){
131         cveCont.repaint();
132         Presenter pre=getPresenter();
133         pre.refreshPre();
134     }
135     
136     /**
137      * Aggiornamento dell'osservatore (esegue react)
138      * @param o oggetto osservabile
139      * @param arg evento che scaturisce cambiamento
140      */

141     public void update(Observable o, Object JavaDoc arg) {
142         react(o, arg);
143         }
144     
145     /**
146      * Nel descrittore, all'interno di param, vi sono indicati
147      * i components che fanno parte dell'osservatore.
148      * Associo ad un osservatore le istanze dei suoi componenti
149      * @param param collezione dei componenti
150      */

151     abstract public void setComponents (Collection param);
152     
153     /**
154      * Ogni osservatore specializza questo metodo specificando
155      * come reaggisce agli eventi
156      */

157     abstract protected void react(Observable o, Object JavaDoc arg);
158
159
160     public void setMediator (Controller med){};
161     
162     //GF
163
public Controller getMediator (){
164        return med;
165     };
166     
167    /**
168     * Impostazione Flag Maschera di Configurazione Interaazione Aperta
169     *
170     * @param flag Flag di Maschera di Configurazione Interazione Aperta
171     */

172     public void setMappingFrameOpen(boolean flag){
173         mappingFrameIsOpen = flag;
174     }
175
176    /**
177     * Lettura Flag Maschera di Configurazione Interazione Aperta
178     *
179     * @return boolean Flag di Maschera di Configurazione Interazione Aperta
180     */

181     public boolean getMappingFrameOpen(){
182         return mappingFrameIsOpen;
183     }
184
185    /**
186     * Impostazione Flag Maschera di Query Elemento Aperta
187     *
188     * @param flag Flag di Maschera di Query Elemento Aperta
189     */

190     public void setQueryElementOpen(boolean flag){
191       queryElementIsOpen = flag;
192     }
193
194    /**
195     * Lettura Flag Maschera di Query Elemento Aperta
196     *
197     * @return boolean Flag di Maschera di Query Elemento Aperta
198     */

199     public boolean getQueryElementOpen(){
200       return queryElementIsOpen;
201     }
202
203
204     
205     /* ################ METODI DI UTILITA ######################
206     ######################################################### */

207     
208     /**
209      * Metodo di utilita'.
210      * Dialog per la lettura di un file
211      * Restituisce il nome del file da analizzare
212      *
213      */

214     final static protected String JavaDoc getFileXml(File current){
215         JFrame fr=new JFrame();
216         File file=null;
217         //File current=new File("c:/cve1.0/VisualLanguage/SpecificheWippog");
218
final JFileChooser fc = new JFileChooser();
219         fc.setCurrentDirectory(current);
220         int returnVal = fc.showOpenDialog(fr);
221         if (returnVal == JFileChooser.APPROVE_OPTION) {
222             file = fc.getSelectedFile();
223             return file.getAbsolutePath();
224             }
225         return "";
226         }
227     
228     }
Popular Tags