01
/**//* Copyright (C) 2004 - 2008 db4objects Inc. http://www.db4o.com */
02
package com.db4odoc.tp.rollback;
03
04
import com.db4o.activation.ActivationPurpose;
05
import com.db4o.activation.Activator;
06
import com.db4o.ta.Activatable;
07
08
public class Car implements Activatable, Cloneable ...{
09
private String model;
10
private Pilot pilot;
11
transient Activator _activator;
12
13
public Car(String model, Pilot pilot) ...{
14
this.model = model;
15
this.pilot = pilot;
16
}
17
// end Car
18
19
// Bind the class to an object container
20
public void bind(Activator activator) ...{
21
if (_activator == activator) ...{
22
return;
23
}
24
if (activator != null && _activator != null) ...{
25
throw new IllegalStateException();
26
}
27
_activator = activator;
28
}
29
// end bind
30
31
// activate the object fields
32
public void activate(ActivationPurpose purpose) ...{
33
if (_activator == null)
34
return;
35
_activator.activate(purpose);
36
}
37
// end activate
38
39
40
public String getModel() ...{
41
activate(ActivationPurpose.READ);
42
return model;
43
}
44
// end getModel
45
46
public void setModel(String model) ...{
47
activate(ActivationPurpose.WRITE);
48
this.model = model;
49
}
50
// end setModel
51
52
public Pilot getPilot() ...{
53
activate(ActivationPurpose.READ);
54
return pilot;
55
}
56
// end getPilot
57
58
public void setPilot(Pilot pilot) ...{
59
activate(ActivationPurpose.WRITE);
60
this.pilot = pilot;
61
}
62
// end setPilot
63
64
public String toString() ...{
65
activate(ActivationPurpose.READ);
66
return model + "[" + pilot + "]";
67
}
68
// end toString
69
70
public void changePilot(String name, int id) ...{
71
pilot.setName(name);
72
pilot.setId(id);
73
}
74
75
}