View Javadoc

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   */