KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > beans > Inode


1 /*
2  * Bean.java
3  *
4  * Created on April 30, 2003, 4:36 PM
5  */

6 package com.dotmarketing.beans;
7
8 import java.io.Serializable JavaDoc;
9 import java.util.HashMap JavaDoc;
10 import java.util.Iterator JavaDoc;
11 import java.util.List JavaDoc;
12 import java.util.Map JavaDoc;
13
14 import com.dotmarketing.db.DotHibernate;
15 import com.dotmarketing.factories.TreeFactory;
16
17 /**
18  *
19  * @author rocco
20  */

21 public class Inode implements Serializable JavaDoc {
22     
23     /**
24      *
25      */

26     private static final long serialVersionUID = 1L;
27
28     private java.util.Date JavaDoc iDate;
29
30     private String JavaDoc type;
31
32     private int owner;
33
34     protected long inode;
35
36     private long identifier;
37
38     public Inode() {
39         iDate = new java.util.Date JavaDoc();
40         type = "inode";
41     }
42
43     /**
44      * Sets the iDate.
45      *
46      * @param iDate
47      * The iDate to set
48      */

49     public void setIDate(java.util.Date JavaDoc iDate) {
50         this.iDate = iDate;
51     }
52
53     //sets the idate from the db
54
public void setIDate(String JavaDoc x) {
55         java.text.SimpleDateFormat JavaDoc formatter = new java.text.SimpleDateFormat JavaDoc(
56                 "yyyy-MM-dd H:mm:ss");
57         java.text.ParsePosition JavaDoc pos = new java.text.ParsePosition JavaDoc(0);
58         iDate = formatter.parse(x, pos);
59
60         if (iDate == null) {
61             iDate = new java.util.Date JavaDoc();
62         }
63     }
64
65     /**
66      * Returns the iDate.
67      *
68      * @return java.util.Date
69      */

70     public java.util.Date JavaDoc getIDate() {
71         return iDate;
72     }
73
74     /**
75      * Sets the inode.
76      *
77      * @param inode
78      * The inode to set
79      */

80     public void setInode(long inode) {
81         this.inode = inode;
82     }
83
84     public void setInode(String JavaDoc inode) {
85         try {
86             this.inode = Long.parseLong(inode);
87         } catch (Exception JavaDoc e) {
88         }
89     }
90
91     public long getInode() {
92         return inode;
93     }
94
95     /**
96      * Sets the owner.
97      *
98      * @param owner
99      * The owner to set
100      */

101     public void setOwner(int owner) {
102         this.owner = owner;
103     }
104
105     public void setOwner(String JavaDoc owner) {
106         try {
107             this.owner = Integer.parseInt(owner);
108         } catch (Exception JavaDoc e) {
109         }
110     }
111
112     /**
113      * Returns the owner.
114      *
115      * @return int
116      */

117     public int getOwner() {
118         return owner;
119     }
120
121     /**
122      * Sets the type.
123      *
124      * @param type
125      * The type to set
126      */

127     public void setType(String JavaDoc type) {
128         this.type = type;
129     }
130
131     /**
132      * Returns the type.
133      *
134      * @return String
135      */

136     public String JavaDoc getType() {
137         return type;
138     }
139
140     //Tree relationchip methods
141

142
143
144
145     public void addChild(Inode i) {
146         Tree tree = TreeFactory.getTree(this, i, "child");
147         if (tree.getParent() == 0 || tree.getChild() == 0) {
148             tree.setParent(this.inode);
149             tree.setChild(i.getInode());
150             tree.setRelationType("child");
151             TreeFactory.saveTree(tree);
152         }
153     }
154
155     public void addChild(Inode i, String JavaDoc relationType) {
156         Tree tree = TreeFactory.getTree(this, i,relationType);
157         if (tree.getParent() == 0 || tree.getChild() == 0) {
158             tree.setParent(this.inode);
159             tree.setChild(i.getInode());
160             tree.setRelationType(relationType);
161             TreeFactory.saveTree(tree);
162         } else {
163             tree.setRelationType(relationType);
164             TreeFactory.saveTree(tree);
165         }
166     }
167
168     public void addParent(Inode i) {
169         Tree tree = TreeFactory.getTree(i, this, "child");
170         if (tree.getParent() == 0 || tree.getChild() == 0) {
171             tree.setChild(this.inode);
172             tree.setParent(i.getInode());
173             tree.setRelationType("child");
174             TreeFactory.saveTree(tree);
175         }
176     }
177
178     public void addParent(Inode i, String JavaDoc relationType) {
179         Tree tree = TreeFactory.getTree(i, this,relationType);
180         if (tree.getParent() == 0 || tree.getChild() == 0) {
181             tree.setChild(this.inode);
182             tree.setParent(i.getInode());
183             tree.setRelationType(relationType);
184             TreeFactory.saveTree(tree);
185         } else {
186             tree.setRelationType(relationType);
187             TreeFactory.saveTree(tree);
188         }
189     }
190
191     /**
192      * Remove the ASSOCIATION between a child and the inode
193      * @param child child to be disassociated
194      * @return
195      */

196     public boolean deleteChild(Inode child) {
197         Tree tree = TreeFactory.getTree(this, child, "child");
198         if (tree.getParent() == 0 || tree.getChild() == 0) {
199             return false;
200         }
201         TreeFactory.deleteTree(tree);
202         return true;
203     }
204
205     public boolean deleteChild(Inode child,String JavaDoc relationType) {
206         Tree tree = TreeFactory.getTree(this, child,relationType);
207         if (tree.getParent() == 0 || tree.getChild() == 0) {
208             return false;
209         }
210         TreeFactory.deleteTree(tree);
211         return true;
212     }
213
214     /**
215      * Remove the ASSOCIATION between a parent and the inode
216      * @param parent parent to be disassociated
217      * @return
218      */

219     public boolean deleteParent(Inode parent) {
220         Tree tree = TreeFactory.getTree(parent, this);
221         if (tree.getParent() == 0 || tree.getChild() == 0) {
222             return false;
223         }
224         TreeFactory.deleteTree(tree);
225         return true;
226     }
227
228     public boolean deleteParent(Inode parent,String JavaDoc relationType) {
229         Tree tree = TreeFactory.getTree(parent, this,relationType);
230         if (tree.getParent() == 0 || tree.getChild() == 0) {
231             return false;
232         }
233         TreeFactory.deleteTree(tree);
234         return true;
235     }
236
237     /**
238      *
239      * @return If the inode has children return true, false otherwise
240      */

241     public boolean hasChildren() {
242
243         DotHibernate dh = new DotHibernate ();
244         String JavaDoc query = "select count(*) from " + Inode.class.getName() + " inode where inode.inode in (select tree.child from " + Tree.class.getName() + " tree where tree.parent = " + this.inode + ")";
245         dh.setQuery(query);
246         List JavaDoc results = dh.list();
247
248         return ((Integer JavaDoc)results.get(0)).intValue() > 0;
249     }
250
251
252     /**
253      *
254      * @return If the inode has children return true, false otherwise
255      */

256     public boolean hasParents() {
257
258         DotHibernate dh = new DotHibernate ();
259         String JavaDoc query = "select count(*) from " + Inode.class.getName() + " inode where inode.inode in (select tree.parent from " + Tree.class.getName() + " tree where tree.child = " + this.inode + ")";
260         dh.setQuery(query);
261         List JavaDoc results = dh.list();
262
263         return ((Integer JavaDoc)results.get(0)).intValue() > 0;
264     }
265
266     public boolean equals(Object JavaDoc other) {
267         if (!(other instanceof Inode)) {
268             return false;
269         }
270
271         Inode castOther = (Inode) other;
272
273         return (this.getInode() == castOther.getInode());
274     }
275
276     public java.util.Date JavaDoc getiDate() {
277         return iDate;
278     }
279
280     public void setiDate(java.util.Date JavaDoc iDate) {
281         this.iDate = iDate;
282     }
283
284     /**
285      * @return Returns the identifier.
286      */

287     public long getIdentifier() {
288         return identifier;
289     }
290
291     /**
292      * @param identifier
293      * The identifier to set.
294      */

295     public void setIdentifier(long identifier) {
296         this.identifier = identifier;
297     }
298
299     public boolean isNew() {
300         return (this.inode == 0);
301     }
302
303     //Tree relationchip methods
304
/**
305      * Wipe out the old parents and associate a new parents set to the inode
306      * @param newChildren New children set
307      */

308     public void setParents (List JavaDoc newParents) {
309         TreeFactory.deleteTreesByChild(this);
310         Iterator JavaDoc it = newParents.iterator();
311         while (it.hasNext()) {
312             Inode parent = (Inode) it.next();
313             addParent (parent);
314         }
315     }
316
317     /**
318      * Returns a hashmap with all the inode fields
319      * @return the map
320      */

321     public Map JavaDoc<String JavaDoc, Object JavaDoc> getMap () {
322         HashMap JavaDoc<String JavaDoc, Object JavaDoc> map = new HashMap JavaDoc<String JavaDoc, Object JavaDoc>();
323         map.put("inode", inode);
324         map.put("type", type);
325         map.put("identifier", identifier);
326         map.put("iDate", iDate);
327         return map;
328     }
329
330 }
Popular Tags