View Javadoc

1   /*
2   Wotonomy: OpenStep design patterns for pure Java applications.
3   Copyright (C) 2001 Michael Powers
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  
19  package net.wotonomy.control;
20  
21  /***
22  * EORelationshipManipulation provides methods for generically
23  * adding and removing relationships between objects, handling
24  * both one-way and reciprocal relationships.
25  *
26  * @author michael@mpowers.net
27  * @author $Author: cgruber $
28  * @version $Revision: 893 $
29  */
30  public interface EORelationshipManipulation 
31  {
32      /***
33      * Adds the specified object to the relationship on this
34      * object specified by the key.  For to-one relationships,
35      * this operation is the same as valueForKey.
36      */
37      void addObjectToPropertyWithKey( 
38          Object anObject, String aKey );
39  
40      /***
41      * Removes the specified object from the relationship on
42      * this object specified by the key.  For to-one relationships,
43      * this operation is the same as takeValueForKey with a null
44      * value.
45      */
46      void removeObjectFromPropertyWithKey( 
47          Object anObject, String aKey );
48  
49      /***
50      * As addObjectToProperty with key, but also performs the
51      * reciprocal operation on the other side of the relationship.
52      */
53      void addObjectToBothSidesOfRelationshipWithKey( 
54          EORelationshipManipulation anObject, String aKey );
55          
56      /***
57      * As removeObjectFromPropertyWithKey with key, but also performs the
58      * reciprocal operation on the other side of the relationship.
59      */
60      void removeObjectFromBothSidesOfRelationshipWithKey( 
61          EORelationshipManipulation anObject, String aKey );
62  
63  }
64  
65  /*
66   * $Log$
67   * Revision 1.1  2006/02/16 13:19:57  cgruber
68   * Check in all sources in eclipse-friendly maven-enabled packages.
69   *
70   * Revision 1.1  2001/11/13 04:13:59  mpowers
71   * Added interfaces needed to begin work on EOCustomObject.
72   *
73   *
74   */
75      
76