KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > albel > tags > table > model > TableHandlers


1 /*
2  * TableHandlers.java
3  *
4  * Created on Antradienis, 2004, Rugsėjo 7, 11.28
5  */

6
7 package albel.tags.table.model;
8
9 /**
10  *
11  * @author alblau
12  */

13 import java.util.*;
14
15 public class TableHandlers
16 {
17
18     /**
19      * Utility field holding list of IRowHandlers.
20      */

21     private transient java.util.ArrayList JavaDoc IRowHandlerList;
22     private Table table;
23     
24     /** Creates a new instance of TableHandlers */
25     private TableHandlers()
26     {
27     }
28     public TableHandlers(Table table)
29     {
30         this.table=table;
31     }
32     
33     /**
34      * Registers IRowHandler to receive events.
35      * @param listener The listener to register.
36      */

37     public synchronized void addRowHandler(albel.tags.table.model.IRowHandler listener)
38     {
39         if (IRowHandlerList == null )
40         {
41             IRowHandlerList = new java.util.ArrayList JavaDoc();
42         }
43         IRowHandlerList.add(listener);
44     }
45     
46     /**
47      * Removes IRowHandler from the list of listeners.
48      * @param listener The listener to remove.
49      */

50     public synchronized void removeRowHandler(albel.tags.table.model.IRowHandler listener)
51     {
52         if (IRowHandlerList != null )
53         {
54             IRowHandlerList.remove(listener);
55         }
56     }
57     
58     /**
59      * Notifies all registered listeners about the event.
60      *
61      * @param event The event to be fired
62      */

63     public void fireRowHandlerHandleUpdate(albel.tags.table.model.Cell cells[])
64     throws TableTagException
65     {
66         java.util.ArrayList JavaDoc list;
67         synchronized (this)
68         {
69             if (IRowHandlerList == null) return;
70             list = (java.util.ArrayList JavaDoc)IRowHandlerList.clone();
71         }
72         for (int i = 0; i < list.size(); i++)
73         {
74             ((albel.tags.table.model.IRowHandler)list.get(i)).handleUpdate(table,cells);
75         }
76     }
77     /**
78      * Notifies all registered listeners about the event.
79      *
80      * @param event The event to be fired
81      */

82     public List fireRowHandlerHandleLoad()
83     throws TableTagException
84     {
85         java.util.ArrayList JavaDoc list;
86         synchronized (this)
87         {
88             if (IRowHandlerList == null) return new ArrayList();
89             list = (java.util.ArrayList JavaDoc)IRowHandlerList.clone();
90         }
91         List l=null;
92         for (int i = 0; i < list.size(); i++)
93         {
94             l=((albel.tags.table.model.IRowHandler)list.get(i)).handleLoad();
95             break;
96             
97         }
98         return l;
99     }
100     /**
101      * Notifies all registered listeners about the event.
102      *
103      * @param event The event to be fired
104      */

105     public void fireRowHandlerHandleCreate(Table t,Cell cells[])
106     throws TableTagException
107     {
108         java.util.ArrayList JavaDoc list;
109         synchronized (this)
110         {
111             if (IRowHandlerList == null) return;
112             list = (java.util.ArrayList JavaDoc)IRowHandlerList.clone();
113         }
114         List main=new ArrayList();
115         for (int i = 0; i < list.size(); i++)
116         {
117             ((albel.tags.table.model.IRowHandler)list.get(i)).handleCreate(t,cells);
118         }
119     }
120     public void fireRowHandlerHandleDelete(Row row)
121     throws TableTagException
122     {
123         java.util.ArrayList JavaDoc list;
124         synchronized (this)
125         {
126             if (IRowHandlerList == null) return;
127             list = (java.util.ArrayList JavaDoc)IRowHandlerList.clone();
128         }
129         List main=new ArrayList();
130         for (int i = 0; i < list.size(); i++)
131         {
132             ((albel.tags.table.model.IRowHandler)list.get(i)).handleDelete(row);
133         }
134     }
135     public boolean hasHandlerOfClass(String JavaDoc klaz)
136     {
137         java.util.ArrayList JavaDoc list;
138         synchronized (this)
139         {
140             if (IRowHandlerList == null) return false;
141             list = (java.util.ArrayList JavaDoc)IRowHandlerList.clone();
142         }
143         boolean has=false;
144         for (int i = 0; i < list.size(); i++)
145         {
146             has=list.get(i).getClass().getName().equals(klaz);
147             if (has)
148                 break;
149         }
150         return has;
151     }
152     public boolean hasHandlerOfObject(Object JavaDoc o)
153     {
154         java.util.ArrayList JavaDoc list;
155         synchronized (this)
156         {
157             if (IRowHandlerList == null) return false;
158             list = (java.util.ArrayList JavaDoc)IRowHandlerList.clone();
159         }
160         boolean has=false;
161         for (int i = 0; i < list.size(); i++)
162         {
163             has=list.get(i).equals(o);
164             if (has)
165                 break;
166         }
167         return has;
168     }
169     
170 }
171
Popular Tags