KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4o > test > reflect > self > RegressionDogSelfReflectionRegistry


1 /* Copyright (C) 2004 - 2006 db4objects Inc. http://www.db4o.com
2
3 This file is part of the db4o open source object database.
4
5 db4o is free software; you can redistribute it and/or modify it under
6 the terms of version 2 of the GNU General Public License as published
7 by the Free Software Foundation and as clarified by db4objects' GPL
8 interpretation policy, available at
9 http://www.db4o.com/about/company/legalpolicies/gplinterpretation/
10 Alternatively you can write to db4objects, Inc., 1900 S Norfolk Street,
11 Suite 350, San Mateo, CA 94403, USA.
12
13 db4o is distributed in the hope that it will be useful, but WITHOUT ANY
14 WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 for more details.
17
18 You should have received a copy of the GNU General Public License along
19 with this program; if not, write to the Free Software Foundation, Inc.,
20 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */

21 package com.db4o.test.reflect.self;
22
23 import java.util.*;
24
25 import com.db4o.reflect.self.*;
26
27 /* GENERATE */
28 public class RegressionDogSelfReflectionRegistry extends SelfReflectionRegistry {
29     private final static Hashtable CLASSINFO;
30
31     static {
32         CLASSINFO = new Hashtable(2);
33         CLASSINFO.put(Animal.class, new ClassInfo(true, Object JavaDoc.class,
34                 new FieldInfo[] { new FieldInfo("_name", String JavaDoc.class, true,
35                         false, false) }));
36         CLASSINFO.put(Dog.class,
37                 new ClassInfo(false, Animal.class,
38                         new FieldInfo[] {
39                                 new FieldInfo("_age", Integer JavaDoc.class, true,
40                                         false, false),
41                                 new FieldInfo("_parents", Dog[].class, true,
42                                         false, false),
43                                 new FieldInfo("_prices", int[].class, true,
44                                         false, false),
45                 }));
46         // FIELDINFO.put(P1Object.class, new FieldInfo[]{});
47
}
48
49     public ClassInfo infoFor(Class JavaDoc clazz) {
50         return (ClassInfo) CLASSINFO.get(clazz);
51     }
52
53     public Object JavaDoc arrayFor(Class JavaDoc clazz, int length) {
54         if (Dog.class.isAssignableFrom(clazz)) {
55             return new Dog[length];
56         }
57         if (Animal.class.isAssignableFrom(clazz)) {
58             return new Animal[length];
59         }
60         return super.arrayFor(clazz, length);
61     }
62
63     public Class JavaDoc componentType(Class JavaDoc clazz) {
64         if (Dog[].class.isAssignableFrom(clazz)) {
65             return Dog.class;
66         }
67         if (Animal[].class.isAssignableFrom(clazz)) {
68             return Animal.class;
69         }
70         return super.componentType(clazz);
71     }
72 }
73
Popular Tags