KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > ipanema > person > AbstractPersonDataField


1 /*
2  * Created on Nov 21, 2004
3  * by alex
4  *
5  */

6 package com.nightlabs.ipanema.person;
7
8 import java.io.Serializable JavaDoc;
9
10 /**
11  * @author Alexander Bieber <alex[AT]nightlabs[DOT]de>
12  */

13 /**
14  * @jdo.persistence-capable
15  * identity-type = "application"
16  * objectid-class = "com.nightlabs.ipanema.person.id.PersonDataFieldID"
17  * detachable = "true"
18  *
19  * @jdo.inheritance strategy = "new-table"
20  *
21  * @jdo.fetch-group name="FetchGroupsPerson.fullData" fetch-group-names="default, values"
22  */

23
24 public abstract class AbstractPersonDataField
25 implements
26     Serializable JavaDoc,
27     Comparable JavaDoc
28 //, InstanceCallbacks
29
{
30
31     protected AbstractPersonDataField() { }
32     
33     public AbstractPersonDataField(PersonDataBlock _personDataBlock, AbstractPersonStructField _personStructField)
34     {
35         this(_personDataBlock,_personStructField.getPersonStructFieldOrganisationID(), _personStructField.getPersonStructFieldID());
36     }
37     
38     public AbstractPersonDataField(PersonDataBlock _personDataBlock, String JavaDoc _personStructFieldOrganisationID, String JavaDoc _personStructFieldID)
39     {
40 // this.personDataBlock = _personDataBlock;
41
this.personStructFieldOrganisationID = _personStructFieldOrganisationID;
42         this.personStructFieldID = _personStructFieldID;
43 // initPK();
44
this.organisationID = _personDataBlock.getOrganisationID();
45         this.personID = _personDataBlock.getPersonID();
46         this.personStructBlockOrganisationID = _personDataBlock.getPersonStructBlockOrganisationID();
47         this.personStructBlockID = _personDataBlock.getPersonStructBlockID();
48         this.personDataBlockID = _personDataBlock.getPersonDataBlockID();
49     }
50
51 // /**
52
// * @jdo.field persistence-modifier="persistent"
53
// */
54
// private PersonDataBlock personDataBlock;
55
// /**
56
// * @return Returns the personDataBlock.
57
// */
58
// public PersonDataBlock getPersonDataBlock() {
59
// return personDataBlock;
60
// }
61

62 // /**
63
// * @jdo.field persistence-modifier="persistent"
64
// */
65
// private AbstractPersonStructField personStructField;
66
// /**
67
// * @return Returns the personStructField.
68
// */
69
// public AbstractPersonStructField getPersonStructField() {
70
// return personStructField;
71
// }
72

73   /**
74      * @jdo.field primary-key="true"
75      * @jdo.column length="100"
76      */

77     private String JavaDoc organisationID;
78     
79     /**
80      * @jdo.field primary-key="true"
81      */

82     private long personID;
83     
84     /**
85      * @jdo.field primary-key="true"
86      * @jdo.column length="100"
87      */

88     private String JavaDoc personStructBlockOrganisationID;
89
90     /**
91      * @jdo.field primary-key="true"
92      * @jdo.column length="100"
93      */

94     private String JavaDoc personStructBlockID;
95     
96     /**
97      * @jdo.field primary-key="true"
98      */

99     private Integer JavaDoc personDataBlockID;
100     
101     /**
102      * @jdo.field primary-key="true"
103      * @jdo.column length="100"
104      */

105     private String JavaDoc personStructFieldOrganisationID;
106     
107     /**
108      * @jdo.field primary-key="true"
109      * @jdo.column length="100"
110      */

111     private String JavaDoc personStructFieldID;
112
113     
114     /**
115      * @jdo.field persistence-modifier="persistent"
116      */

117     private String JavaDoc structFieldKey;
118     
119
120 // /**
121
// * @jdo.field persistence-modifier="persistent"
122
// */
123
// private String structFieldKey = null;
124
//
125
// private String getStructFieldKey() {
126
// if (structFieldKey == null) {
127
// structFieldKey = personStructFieldOrganisationID+"/"+personStructFieldID;
128
// }
129
// return structFieldKey;
130
// }
131

132 // protected void initPK()
133
// {
134
//// PersonDataBlock pdb = getPersonDataBlock();
135
//// if (pdb == null) throw new IllegalStateException("personDataBlock is null!");
136
//
137
//
138
// this.organisationID = pdb.getOrganisationID();
139
// this.personID = pdb.getPersonID();
140
// this.personStructBlockOrganisationID = pdb.getPersonStructBlockOrganisationID();
141
// this.personStructBlockID = pdb.getPersonStructBlockID();
142
// this.personDataBlockID = pdb.getPersonDataBlockID();
143
// this.structFieldKey = getStructFieldKey();
144
// }
145

146     /**
147      * Determines if this field is empty.
148      */

149     // DONE: Make this abstract again
150
public abstract boolean isEmpty();
151 // {
152
// throw new UnsupportedOperationException("This method should be abstract and you should not be calling it");
153
// }
154

155     /**
156      * Get a localized String representation of this field.
157      */

158     public abstract String JavaDoc localizedToString(String JavaDoc languageID);
159     
160     public String JavaDoc getOrganisationID() {
161         return organisationID;
162     }
163
164     public String JavaDoc getPersonStructBlockID() {
165         return personStructBlockID;
166     }
167     public String JavaDoc getPersonStructBlockOrganisationID() {
168         return personStructBlockOrganisationID;
169     }
170     public String JavaDoc getPersonStructFieldID() {
171         return personStructFieldID;
172     }
173     public String JavaDoc getPersonStructFieldOrganisationID() {
174         return personStructFieldOrganisationID;
175     }
176     
177     public long getPersonID() {
178         return this.personID;
179     }
180
181     public Integer JavaDoc getPersonDataBlockID() {
182         return personDataBlockID;
183     }
184
185     /**
186      * Package visible modifier for the personID.
187      * @param _personID
188      */

189     void setPersonID(long _personID) {
190         this.personID = _personID;
191     }
192
193     /**
194      * @see javax.jdo.InstanceCallbacks#jdoPostLoad()
195      */

196     public void jdoPostLoad()
197     {
198 // System.out.println(this.getClass().getName()+"|"+this+": jdoPostLoad()");
199
// initPK();
200
}
201
202     /**
203      * @see javax.jdo.InstanceCallbacks#jdoPreStore()
204      */

205     public void jdoPreStore() {
206 // System.out.println(this.getClass().getName()+": jdoPreStore()");
207
}
208
209     /**
210      * @see javax.jdo.InstanceCallbacks#jdoPreClear()
211      */

212     public void jdoPreClear() {
213 // System.out.println(this.getClass().getName()+": jdoPreClear()");
214
}
215
216     /**
217      * @see javax.jdo.InstanceCallbacks#jdoPreDelete()
218      */

219     public void jdoPreDelete() {
220 // System.out.println(this.getClass().getName()+": jdoPreDelete()");
221
}
222     
223     /**
224      * @jdo.field
225      * persistence-modifier="none"
226      */

227     private String JavaDoc structBlockKey = null;
228     
229     public String JavaDoc getStructBlockKey() {
230         if (structBlockKey == null)
231             structBlockKey = personStructBlockOrganisationID+"/"+personStructBlockID;
232         return structBlockKey;
233     }
234
235     /**
236      * @jdo.field
237      * persistence-modifier="none"
238      */

239     private String JavaDoc personRelativePK = null;
240     
241     public String JavaDoc getPersonRelativePK() {
242         if (personRelativePK == null)
243             personRelativePK =
244                 personStructBlockOrganisationID+"/"+
245                 personStructBlockID+"/"+
246                 personDataBlockID.toString()+"/"+
247                 personStructFieldOrganisationID+"/"+
248                 personStructFieldID;
249                 
250         return personRelativePK;
251     }
252     
253     /**
254      * @jdo.field
255      * persistence-modifier="none"
256      */

257     private String JavaDoc structFieldPK = null;
258     
259     public String JavaDoc getStructFieldPK() {
260         if (structFieldPK == null)
261             structFieldPK = AbstractPersonStructField.getPrimaryKey(
262             personStructBlockOrganisationID,
263             personStructBlockID,
264             personStructFieldOrganisationID,
265             personStructFieldID
266         );
267         return structFieldPK;
268     }
269     
270     
271     public boolean equals(Object JavaDoc obj) {
272         if (obj instanceof AbstractPersonDataField) {
273             AbstractPersonDataField other = (AbstractPersonDataField)obj;
274             return
275                 (this.organisationID.equals(other.organisationID)) &&
276                 (this.personID == other.personID) &&
277                 (this.personStructBlockOrganisationID.equals(other.personStructBlockOrganisationID)) &&
278                 (this.personStructBlockID.equals(other.personStructBlockID)) &&
279                 (this.personDataBlockID.equals(other.personDataBlockID)) &&
280                 (this.personStructFieldOrganisationID.equals(other.personStructFieldOrganisationID)) &&
281                 (this.personStructFieldID.equals(other.personStructFieldID));
282         }
283         else
284             return super.equals(obj);
285 // if (obj instanceof PersistenceCapable)
286
// return ((PersistenceCapable)this).jdoGetObjectId().equals(((PersistenceCapable)obj).jdoGetObjectId());
287
// else
288
// return super.equals(obj);
289
}
290     
291     /**
292      * @jdo.field
293      * persistence-modifier="none"
294      */

295     private int priority = Integer.MAX_VALUE;
296     
297     public void setPriority(int priority) {
298         this.priority = priority;
299     }
300     
301     /**
302      * @see java.lang.Comparable#compareTo(java.lang.Object)
303      */

304     public int compareTo(Object JavaDoc o) {
305         if (!(o instanceof AbstractPersonDataField)) {
306             if (this.equals(o)) {
307                 // to be consistent with equals
308
return 0;
309             }
310             else return 1;
311         }
312         AbstractPersonDataField other = (AbstractPersonDataField)o;
313         if (other.getStructBlockKey().equals(this.getStructBlockKey())) {
314             // within same structBlock
315
if (other.priority < this.priority)
316                 return 1;
317             else if (other.priority > this.priority)
318                 return -1;
319             else {
320                 if (this.equals(o)) {
321                     // to be consistent with equals
322
return 0;
323                 }
324                 else return 1;
325             }
326         }
327         else
328             return 1;
329     }
330 }
331
Popular Tags