Source code: org/vrspace/server/db/SQLClass.java
1 package org.vrspace.server.db;
2 import java.lang.reflect.Field;
3 import java.sql.PreparedStatement;
4
5 /** SQLClass is class whose objects describe classes that will be stored in db.
6 Object of this class store information about class itself and class fields.
7 Fields desribed are only public fields declared in that class, not fields
8 declared in superclasses of this class. */
9 class SQLClass {
10
11 /** Unique class number in db, must be >0 */
12 long classID;
13
14 /** Must exists as classID in another SQLClass object, when class is root =0 */
15 long superClassID;
16
17 /* Unique package number in db */
18 long packageID;
19
20 /** Full class name with points replaced by '_' ("org_vrspace_server_Transform") */
21 String className;
22
23 /** True when objects of this class are members of array that is:
24 - contained as field in another object - directly put into db */
25 //boolean isArr;
26
27 /** True when objects of this class are contained as fields in another objrct */
28 //boolean isCnt;
29
30 /** Insert SQL statement for inserting object of this class in db. Parameters are field values. */
31 PreparedStatement stmt;
32
33 /** */
34 Field[] fields; String[] fieldNames;
35
36 /** Field type according to types defined in org.vrspace.server.db.SQLDB class. */
37 int[] fieldTypes;
38
39 /** If field is not primitive, it is stored elsewhere (in another db table), and
40 can be reached by number stored here. This number is >0, unique for all
41 non-primitive fields inside class. If field is primitive value of this number is 0. */
42 long[] fieldCntIDs;
43 }