1 /*
2 Wotonomy: OpenStep design patterns for pure Java applications.
3 Copyright (C) 2002 Israfil consulting Services Corporation
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with this library; if not, see http://www.gnu.org
17
18 $Id: EOCooperatingObjectStore.java 894 2006-02-16 16:47:14 +0000 (Thu, 16 Feb 2006) cgruber $
19
20 */
21
22 package net.wotonomy.control;
23
24 import net.wotonomy.foundation.NSArray;
25 import net.wotonomy.foundation.NSDictionary;
26 import net.wotonomy.foundation.NSLocking;
27 /***
28 * A representation of a channel of communication to the database.
29 *
30 * @author cgruber@israfil.net
31 * @author $Author: cgruber $
32 * @version $Revision: 894 $
33 */
34
35 public abstract class EOCooperatingObjectStore extends EOObjectStore
36 implements NSLocking {
37
38 public EOCooperatingObjectStore() {
39 }
40
41 public abstract boolean ownsGlobalID(EOGlobalID eoglobalid);
42
43 public abstract boolean ownsObject(EOEnterpriseObject eoenterpriseobject);
44
45 public abstract boolean handlesFetchSpecification(EOFetchSpecification eofetchspecification);
46
47 public abstract void prepareForSaveWithCoordinator(EOObjectStoreCoordinator eoobjectstorecoordinator, EOEditingContext eoeditingcontext);
48
49 public abstract void recordChangesInEditingContext();
50
51 public abstract void recordUpdateForObject(EOEnterpriseObject eoenterpriseobject, NSDictionary nsdictionary);
52
53 public abstract void performChanges();
54
55 public abstract void commitChanges();
56
57 public abstract void rollbackChanges();
58
59 public abstract NSDictionary valuesForKeys(NSArray nsarray, EOEnterpriseObject eoenterpriseobject);
60
61 public abstract void lock();
62
63 public abstract void unlock();
64
65 }
66 /*
67 * $Log$
68 * Revision 1.2 2006/02/16 16:47:14 cgruber
69 * Move some classes in to "internal" packages and re-work imports, etc.
70 *
71 * Also use UnsupportedOperationExceptions where appropriate, instead of WotonomyExceptions.
72 *
73 * Revision 1.1 2006/02/16 13:19:57 cgruber
74 * Check in all sources in eclipse-friendly maven-enabled packages.
75 *
76 * Revision 1.1 2002/07/14 21:59:06 mpowers
77 * Contributions from cgruber.
78 *
79 * Revision 1.2 2002/06/21 22:14:30 cgruber
80 * Add a log trail
81 *
82 */