1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.caleigo.core;
20
21 /*** <Description of IProxyController>
22 *
23 * @author Dennis Zikovic
24 * @version 1.00
25 *
26 *//*
27 *
28 * WHEN WHO WHY & WHAT
29 * -----------------------------------------------------------------------------
30 * 2002-10-07 Dennis Zikovic Creation
31 */
32 public interface IProxyController extends IProxyEntity
33 {
34
35
36
37
38 /*** Returns an IControlledProxy object controlled by the called controller.
39 * Implementing classes may cache the controlled proxies and return the
40 * same physical proxy object as long as the relationPath matches.
41 * The controller may refuse to controll a proxy and should then cast
42 * an IllegalArgumentException.
43 */
44 public IControlledProxy getControlledProxy(IEntityDescriptor entityDescriptor, IEntityRelationPath relationPath);
45
46 /*** Used to inform the controller that a controlled proxy instance will be
47 * discarded and gives the controller a chance to deallocate resources
48 * connected to it.
49 */
50 public void releaseControlledProxy(IControlledProxy proxy);
51
52 /*** Returns an Iterator with all proxies currently controlled by the
53 * called controller.
54 */
55 public java.util.Iterator getControlledProxies();
56
57 /*** Should return true if any of the controlled proxies are dirty.
58 */
59 public boolean isDirty();
60
61 /*** Prepares an transaction to load the proxy-chain structure that is
62 * controlled by the called IProxyController.
63 */
64 public void prepareControlledLoad(IDataTransaction transaction);
65
66 /*** Prepares an transaction to store any changes made to the proxy-chain
67 * structure that is controlled by the called IProxyController.
68 */
69 public void prepareControlledStore(IDataTransaction transaction);
70
71 /*** Help method that initializes the data in an entity object based on its
72 * relation to the controller.
73 */
74 public void initializeEntity(IEntity entity, IEntityRelationPath relationPath);
75
76
77 }