01: ///////////////////////////////////////////////////////////////////////////////
02: //
03: // Copyright (C) 2003-@year@ by Thomas M. Hazel, MyOODB (www.myoodb.org)
04: //
05: // All Rights Reserved
06: //
07: // This program is free software; you can redistribute it and/or modify
08: // it under the terms of the GNU General Public License and GNU Library
09: // General Public License as published by the Free Software Foundation;
10: // either version 2, or (at your option) any later version.
11: //
12: // This program is distributed in the hope that it will be useful,
13: // but WITHOUT ANY WARRANTY; without even the implied warranty of
14: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: // GNU General Public License and GNU Library General Public License
16: // for more details.
17: //
18: // You should have received a copy of the GNU General Public License
19: // and GNU Library General Public License along with this program; if
20: // not, write to the Free Software Foundation, 675 Mass Ave, Cambridge,
21: // MA 02139, USA.
22: //
23: ///////////////////////////////////////////////////////////////////////////////
24: package org.myoodb.objects;
25:
26: public class FamilyDbImpl extends org.myoodb.collectable.TreeSetDbImpl
27: implements Family {
28: private volatile String name;
29:
30: public FamilyDbImpl() {
31: this .name = null;
32: }
33:
34: public void cleanUpReference() {
35: super .cleanUpReference();
36:
37: // !!! Pseudocode !!!
38: //
39: // XXX: if this object actually referenced a MyOODB object, here is where
40: // XXX: we would clean a potential back pointer reference
41: //
42: /*
43:
44: this.myFoobar.setFamily(null);
45: this.myFoobar = null;
46:
47: */
48: }
49:
50: public void fixUpReference(long fixUpTime) {
51: if (referenceHasBeenFixedUp(fixUpTime) == true) {
52: return;
53: }
54:
55: super .fixUpReference(fixUpTime);
56:
57: // !!! Pseudocode !!!
58: //
59: // XXX: if this object actually referenced a MyOODB object, here is where
60: // XXX: we would clean it up and/or reallocate a new object
61: //
62: /*
63:
64: try
65: {
66: this.myFoobar.testReference();
67: }
68: catch (org.myoodb.exception.ObjectNotFoundException e)
69: {
70: this.myFoobar = null;
71:
72: // XXX: or just maybe realloc
73:
74: this.myFoobar = (FooBar) getDatabase.createObject(Foobar.class);
75: this.myFoobar.setFamily(this);
76: }
77:
78: */
79: }
80:
81: public void setName(String name) {
82: this .name = name;
83: }
84:
85: public String getName() {
86: return this .name;
87: }
88:
89: public String toString() {
90: return getName();
91: }
92: }
|