1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.jdo.impl.model.java;
19
20 import org.apache.jdo.model.java.JavaType;
21
22 /***
23 * A MutableValueClassType instance represents a mutable class whoses
24 * values may be treated as values rather than refernces during
25 * storing. Note, MutableValueClassType instances are trackable which is
26 * the only difference in behavior to instances of the superclass
27 * ValueClassType.
28 * <p>
29 * Class PredefinedType provides public static final variables referring
30 * to the JavaType representation for mutable value class types.
31 *
32 * @see PredefinedType#dateType
33 * @see PredefinedType#sqlDateType
34 * @see PredefinedType#sqlTimeType
35 * @see PredefinedType#sqlTimestampType
36 * @see PredefinedType#bitsetType
37 *
38 * @author Michael Bouschen
39 * @since JDO 1.0.1
40 */
41 public class MutableValueClassType
42 extends ValueClassType
43 {
44 /***
45 * Constructor.
46 * @param clazz the Class instance representing the type
47 * @param superclass JavaType instance representing the superclass.
48 * @param orderable flag indicating whether this type is orderable.
49 */
50 public MutableValueClassType(Class clazz, JavaType superclass, boolean orderable)
51 {
52 super(clazz, superclass, orderable);
53 }
54
55 /***
56 * Returns <code>true</code> if this JavaType represents a trackable
57 * Java class. A JDO implementation may replace a persistent field of
58 * a trackable type with an assignment compatible instance of its own
59 * implementation of this type which notifies the owning FCO of any
60 * change of this field.
61 * @return <code>true</code> if this JavaType represents a trackable
62 * Java class, <code>false</code> otherwise.
63 */
64 public boolean isTrackable()
65 {
66 return true;
67 }
68 }