1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package com.enspire.gemini;
25
26 /***
27 * A JavaBean property wrapper that updates its opposite property.
28 * This kind of property most often represents a relationship end
29 * with multiplicity greater than 1.
30 *
31 * @author Dragan Djuric <dragand@dev.java.net>
32 * since 1.0
33 **/
34 public interface BidirectionalProperty {
35
36 /***
37 * Gets the owner of this object.
38 * @return the owner
39 */
40 Object getOwner();
41
42 /***
43 * Sets the owner of this object.
44 * @param owner new value
45 */
46 void setOwner(Object owner);
47
48 /***
49 * Gets the updater of the another end of the represented relationship.
50 *
51 * @return relationshipUpdater the updater of the another end of the represented relationship
52 */
53 RelationshipUpdater getRelationshipUpdater();
54
55 /***
56 * Sets the updater of the another end of the represented relationship.
57 *
58 * @param relationshipUpdater the updater of the another end of the represented relationship
59 */
60 void setRelationshipUpdater(RelationshipUpdater relationshipUpdater);
61
62 /***
63 * Gets the name of the opposite property.
64 *
65 * @return name the name of the opposite property
66 */
67 String getOppositeName();
68
69 /***
70 * Sets the name of the opposite property.
71 *
72 * @param name the name of the opposite property
73 */
74 void setOppositeName(String propertyName);
75
76 /***
77 * Gets the value (e.g. the wrapped object) of the property.
78 *
79 * @return value
80 */
81 Object getPropertyValue();
82
83 /***
84 * Sets the value (e.g. the wrapped object) of the property.
85 *
86 * @param value
87 */
88 void setPropertyValue(Object propertyValue);
89 }