01: package org.apache.ojb.otm;
02:
03: /* Copyright 2003-2005 The Apache Software Foundation
04: *
05: * Licensed under the Apache License, Version 2.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: import org.apache.ojb.broker.Identity;
19: import org.apache.ojb.broker.PBKey;
20: import org.apache.ojb.otm.copy.ObjectCopyStrategy;
21: import org.apache.ojb.otm.core.Transaction;
22: import org.apache.ojb.otm.lock.map.LockMap;
23: import org.apache.ojb.otm.lock.wait.LockWaitStrategy;
24: import org.apache.ojb.otm.swizzle.Swizzling;
25:
26: /**
27: * The Kit provides the point of entry for any OTM client
28: *
29: * @author <a href="mailto:mattbaird@yahoo.com">Matthew Baird</a>
30: */
31: public interface Kit {
32: /**
33: * Acquire an open OTMConnection
34: *
35: * @param pbKey
36: * @return
37: */
38: OTMConnection acquireConnection(PBKey pbKey);
39:
40: /**
41: * Obtain the transaction this connection is bound to
42: */
43: Transaction getTransaction(OTMConnection conn);
44:
45: /**
46: * @todo document
47: */
48: Swizzling getSwizzlingStrategy();
49:
50: /**
51: * @todo document
52: */
53: LockWaitStrategy getLockWaitStrategy();
54:
55: /**
56: * @todo document
57: */
58: LockMap getLockMap();
59:
60: /**
61: * @todo document
62: */
63: ObjectCopyStrategy getCopyStrategy(Identity oid);
64:
65: /**
66: * @todo document
67: */
68: boolean isImplicitLockingUsed();
69:
70: }
|