View Javadoc
1   package fr.ifremer.dali.ui.swing.content.manage.referential.taxongroup.national;
2   
3   import fr.ifremer.dali.ui.swing.DaliHelpBroker;
4   import fr.ifremer.dali.ui.swing.DaliUIContext;
5   import fr.ifremer.dali.ui.swing.content.manage.referential.taxongroup.menu.TaxonGroupMenuUI;
6   import fr.ifremer.dali.ui.swing.util.DaliUI;
7   import fr.ifremer.quadrige3.ui.swing.ApplicationUI;
8   import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
9   import fr.ifremer.quadrige3.ui.swing.table.SwingTable;
10  import java.awt.BorderLayout;
11  import java.awt.Container;
12  import java.awt.LayoutManager;
13  import java.util.ArrayList;
14  import java.util.HashMap;
15  import java.util.List;
16  import java.util.Map;
17  import java.util.TreeMap;
18  import javax.swing.Box;
19  import javax.swing.BoxLayout;
20  import javax.swing.JPanel;
21  import javax.swing.JScrollPane;
22  import jaxx.runtime.JAXXBinding;
23  import jaxx.runtime.JAXXContext;
24  import jaxx.runtime.JAXXObject;
25  import jaxx.runtime.JAXXObjectDescriptor;
26  import jaxx.runtime.JAXXUtil;
27  import jaxx.runtime.SwingUtil;
28  import jaxx.runtime.context.DefaultJAXXContext;
29  import org.apache.commons.logging.Log;
30  import org.apache.commons.logging.LogFactory;
31  
32  public class TaxonGroupNationalUI extends JPanel implements DaliUI<TaxonGroupNationalUIModel, TaxonGroupNationalUIHandler>, JAXXObject {
33  
34      /*-----------------------------------------------------------------------*/
35      /*------------------------- Other static fields -------------------------*/
36      /*-----------------------------------------------------------------------*/
37  
38      private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAALVUS08UQRCuHd2FBfFFeBgxQSEhauzVeMQoCkEgCxoXEuJ6sHenWRp7upueHhkuxp/gT9C7FxNvnowHzx68GP+CMR68GqtnH7PLLtHEuIee2er66vuqpqpef4NsaOD8Do1jYiJpecDIyu3NzXuVHVa1CyysGq6tMlD/ZTzwyjDot+yhhaly0cELDXhhXgVaSSbb0LNFGAjtvmDhNmPWwrlORDUMC6XW9WysI9OM2hLVK+rLH9+9F/7zVx5ArFFdH6Yy+SdUmsnRInjct3AamZ7SgqCyhjIMlzXUO+Rs84KG4RoN2C48g74i5DQ1GMzChb9POYmR4GNtoX965T6VTFy18GjLEL5lWMAM8angJOIk3EN2UlXSYjASUElrjBi2xRwtp4JYGitZMyrSRFLLlUTburPddba1hmljWeuEM2chGyifCQv0f9KtOo6UM1cx6gkzFmYOJV3Af0uIuZN4ptBx2xV+lcloY9nC+j9mEGCcNvX1sI4232Jvfp5r2BWuAeIGQd3a6Ts0vVKqGiWEu8PvOdYBSK+c+0gLNdad3zqtCGaBtKW3G1Hf8Bq7nuZonRcpufcE4OKNa+z4sx0dj7NE0llKmz1ThqyJ0IwlLneP3wO8qg/e+IHBcwGT21+jw5/ffX272Jw2D7lHerq2LQucAm2Uxl7gjvpEfdQiy0VhlerZMuRDJnDTJJtkooewUuMaxSHfKQcnDk6WaLiNIbJ9X95/GH386Qh4izAgFPUXqfNfhrzdNlgFJfxY35pLFB3b68fzpNOGTSrovopwmI/f8KmlkxUufSzuzRiLMNGjCC0llfzHn8OlN3PNQmRQ2JlD3dNiZB9CjkvBJUsWT2On9Fw0gzpkka/S3dFrm2Tcc0A3ZmcqOWe6M3Xmi+64FEfucTmR7N6uJHejGOE3NHxX+AgGAAA=";
39      private static final Log log = LogFactory.getLog(TaxonGroupNationalUI.class);
40      private static final long serialVersionUID = 1L;
41  
42      /*-----------------------------------------------------------------------*/
43      /*--------------------------- Internal states ---------------------------*/
44      /*-----------------------------------------------------------------------*/
45  
46      protected List<Object> $activeBindings = new ArrayList<Object>();
47      protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
48      protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
49      protected Map<String, Object> $objectMap = new HashMap<String, Object>();
50      protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
51      private boolean allComponentsCreated;
52      protected final JAXXContext delegateContext = new DefaultJAXXContext();
53  
54      /*-----------------------------------------------------------------------*/
55      /*------------------------ Protected components  ------------------------*/
56      /*-----------------------------------------------------------------------*/
57  
58      protected DaliHelpBroker broker;
59      protected final TaxonGroupNationalUIHandler handler = createHandler();
60      protected TaxonGroupNationalUIModel model;
61      protected TaxonGroupMenuUI taxonGroupNationalMenuUI;
62      protected SwingTable taxonGroupNationalTable;
63  
64      /*-----------------------------------------------------------------------*/
65      /*------------------------- Private components  -------------------------*/
66      /*-----------------------------------------------------------------------*/
67  
68      private TaxonGroupNationalUI $JPanel0 = this;
69      private JPanel $JPanel1;
70      private JScrollPane $JScrollPane0;
71  
72      /*-----------------------------------------------------------------------*/
73      /*---------------------------- Constructors  ----------------------------*/
74      /*-----------------------------------------------------------------------*/
75  
76      public TaxonGroupNationalUI(ApplicationUI parentUI) {
77          ApplicationUIUtil.setParentUI(this, parentUI);
78              $initialize();
79      }
80  
81      public TaxonGroupNationalUI() {
82          $initialize();
83      }
84  
85      public TaxonGroupNationalUI(JAXXContext parentContext) {
86          JAXXUtil.initContext(this, parentContext);
87          $initialize();
88      }
89  
90      public TaxonGroupNationalUI(boolean param0) {
91          super(param0);
92          $initialize();
93      }
94  
95      public TaxonGroupNationalUI(JAXXContext parentContext, boolean param1) {
96          super(param1);
97          JAXXUtil.initContext(this, parentContext);
98          $initialize();
99      }
100 
101     public TaxonGroupNationalUI(LayoutManager param0) {
102         super(param0);
103         $initialize();
104     }
105 
106     public TaxonGroupNationalUI(JAXXContext parentContext, LayoutManager param1) {
107         super(param1);
108         JAXXUtil.initContext(this, parentContext);
109         $initialize();
110     }
111 
112     public TaxonGroupNationalUI(LayoutManager param0, boolean param1) {
113         super(param0 ,param1);
114         $initialize();
115     }
116 
117     public TaxonGroupNationalUI(JAXXContext parentContext, LayoutManager param1, boolean param2) {
118         super(param1 ,param2);
119         JAXXUtil.initContext(this, parentContext);
120         $initialize();
121     }
122 
123     /*-----------------------------------------------------------------------*/
124     /*--------------------------- Statics methods ---------------------------*/
125     /*-----------------------------------------------------------------------*/
126 
127     public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
128         return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
129     }
130 
131     /*-----------------------------------------------------------------------*/
132     /*---------------------- JAXXObject implementation ----------------------*/
133     /*-----------------------------------------------------------------------*/
134 
135     @Override
136     public void applyDataBinding(String $binding) {
137         if (allComponentsCreated && $bindings.containsKey($binding)) {
138             getDataBinding($binding).applyDataBinding();
139         }
140         processDataBinding($binding);
141     }
142 
143     @Override
144     public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
145         super.firePropertyChange(propertyName, oldValue, newValue);
146     }
147 
148     @Override
149     public Map<String, Object> get$objectMap() {
150         return $objectMap;
151     }
152 
153     @Override
154     public JAXXBinding getDataBinding(String bindingId) {
155         return $bindings.get(bindingId);
156     }
157 
158     @Override
159     public JAXXBinding[] getDataBindings() {
160         return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
161     }
162 
163     @Override
164     public Object getObjectById(String id) {
165         return $objectMap.get(id);
166     }
167 
168     @Override
169     public void processDataBinding(String $binding, boolean $force) {
170         if (!$force && $activeBindings.contains($binding)) { 
171             return;
172         }
173         $activeBindings.add($binding);
174         try {
175             if (allComponentsCreated && $bindings.containsKey($binding)) {
176                 getDataBinding($binding).processDataBinding();
177             }
178         } finally {
179             $activeBindings.remove($binding);
180         }
181     }
182 
183     @Override
184     public void processDataBinding(String $binding) {
185         processDataBinding($binding, false);
186     }
187 
188     @Override
189     public void registerDataBinding(JAXXBinding binding) {
190         $bindings.put(binding.getId(), binding);
191     }
192 
193     @Override
194     public void removeDataBinding(String $binding) {
195         if (allComponentsCreated && $bindings.containsKey($binding)) {
196             getDataBinding($binding).removeDataBinding();
197         }
198     }
199 
200     /*-----------------------------------------------------------------------*/
201     /*--------------------- JAXXContext implementation  ---------------------*/
202     /*-----------------------------------------------------------------------*/
203 
204     @Override
205     public <T> T getContextValue(Class<T> clazz) {
206         return delegateContext.getContextValue(clazz, null);
207     }
208 
209     @Override
210     public <T> T getContextValue(Class<T> clazz, String name) {
211         return delegateContext.getContextValue(clazz, name);
212     }
213 
214     @Override
215     public JAXXContext getDelegateContext() {
216         return delegateContext;
217     }
218 
219     @Override
220     public <O extends Container> O getParentContainer(Class<O> clazz) {
221         return SwingUtil.getParentContainer(this, clazz);
222     }
223 
224     @Override
225     public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
226         return SwingUtil.getParentContainer(source, clazz);
227     }
228 
229     @Override
230     public <T> void removeContextValue(Class<T> clazz) {
231         delegateContext.removeContextValue(clazz, null);
232     }
233 
234     @Override
235     public <T> void removeContextValue(Class<T> clazz, String name) {
236         delegateContext.removeContextValue(clazz, name);
237     }
238 
239     @Override
240     public <T> void setContextValue(T o) {
241         delegateContext.setContextValue(o, null);
242     }
243 
244     @Override
245     public <T> void setContextValue(T o, String name) {
246         delegateContext.setContextValue(o, name);
247     }
248 
249     /*-----------------------------------------------------------------------*/
250     /*----------------------- Public acessor methods  -----------------------*/
251     /*-----------------------------------------------------------------------*/
252 
253     public DaliHelpBroker getBroker() {
254         return broker;
255     }
256 
257     public TaxonGroupNationalUIHandler getHandler() {
258         return handler;
259     }
260 
261     public TaxonGroupNationalUIModel getModel() {
262         return model;
263     }
264 
265     public TaxonGroupMenuUI getTaxonGroupNationalMenuUI() {
266         return taxonGroupNationalMenuUI;
267     }
268 
269     public SwingTable getTaxonGroupNationalTable() {
270         return taxonGroupNationalTable;
271     }
272 
273     /*-----------------------------------------------------------------------*/
274     /*--------------------- Protected acessors methods  ---------------------*/
275     /*-----------------------------------------------------------------------*/
276 
277     protected JPanel get$JPanel1() {
278         return $JPanel1;
279     }
280 
281     protected JScrollPane get$JScrollPane0() {
282         return $JScrollPane0;
283     }
284 
285     /*-----------------------------------------------------------------------*/
286     /*--------------------- Components creation methods ---------------------*/
287     /*-----------------------------------------------------------------------*/
288 
289     protected void createBroker() {
290         $objectMap.put("broker", broker = new DaliHelpBroker("dali.home.help"));
291     }
292 
293     protected TaxonGroupNationalUIHandler createHandler() {
294         return new TaxonGroupNationalUIHandler();
295     }
296 
297     protected void createModel() {
298         $objectMap.put("model", model = getContextValue(TaxonGroupNationalUIModel.class));
299     }
300 
301     protected void createTaxonGroupNationalMenuUI() {
302         $objectMap.put("taxonGroupNationalMenuUI", taxonGroupNationalMenuUI = new TaxonGroupMenuUI(this));
303         
304         taxonGroupNationalMenuUI.setName("taxonGroupNationalMenuUI");
305     }
306 
307     protected void createTaxonGroupNationalTable() {
308         $objectMap.put("taxonGroupNationalTable", taxonGroupNationalTable = new SwingTable());
309         
310         taxonGroupNationalTable.setName("taxonGroupNationalTable");
311     }
312 
313     /*-----------------------------------------------------------------------*/
314     /*------------------------ Internal jaxx methods ------------------------*/
315     /*-----------------------------------------------------------------------*/
316 
317     private void $completeSetup() {
318         allComponentsCreated = true;
319         if (log.isDebugEnabled()) {
320             log.debug(this);
321         }
322         // inline complete setup of $JPanel0
323         add(taxonGroupNationalMenuUI, BorderLayout.LINE_START);
324         add($JPanel1, BorderLayout.CENTER);
325         // inline complete setup of $JPanel1
326         $JPanel1.add($JScrollPane0);
327         // inline complete setup of $JScrollPane0
328         $JScrollPane0.getViewport().add(taxonGroupNationalTable);
329     }
330 
331     private void $initialize() {
332         if (allComponentsCreated) {
333             return;
334         }
335         if (log.isDebugEnabled()) {
336             log.debug(this);
337         }
338         handler.beforeInit(this);
339         $objectMap.put("$JPanel0", $JPanel0);
340         createModel();
341         createBroker();
342         createTaxonGroupNationalMenuUI();
343         // inline creation of $JPanel1
344         $objectMap.put("$JPanel1", $JPanel1 = new JPanel());
345         
346         $JPanel1.setName("$JPanel1");
347         $JPanel1.setLayout(new BorderLayout());
348         // inline creation of $JScrollPane0
349         $objectMap.put("$JScrollPane0", $JScrollPane0 = new JScrollPane());
350         
351         $JScrollPane0.setName("$JScrollPane0");
352         createTaxonGroupNationalTable();
353         // inline creation of $JPanel0
354         setName("$JPanel0");
355         setLayout(new BorderLayout());
356         
357         $completeSetup();
358         handler.afterInit(this);
359     }
360 
361 }