1 /*==================================================================== 2 3 ObjectWeb Util Ref Package. 4 Copyright (C) 2004 INRIA & USTL - LIFL - GOAL 5 Contact: architecture@objectweb.org 6 7 This library is free software; you can redistribute it and/or 8 modify it under the terms of the GNU Lesser General Public 9 License as published by the Free Software Foundation; either 10 version 2.1 of the License, or any later version. 11 12 This library is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 Lesser General Public License for more details. 16 17 You should have received a copy of the GNU Lesser General Public 18 License along with this library; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 20 USA 21 22 Initial developer(s): Philippe Merle. 23 Contributor(s): ______________________________________. 24 25 -------------------------------------------------------------------- 26 $Id: Reference.java,v 1.1 2004/02/13 17:46:08 rouvoy Exp $ 27 ====================================================================*/ 28 29 package org.objectweb.util.ref.api; 30 31 /** 32 * Base interface for all Reference objects. 33 * 34 * A Reference object maintains an association between 35 * the owner of the reference and the target of the reference. 36 * 37 * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a> 38 * @version 0.1 39 */ 40 public interface Reference 41 { 42 /** 43 * Obtains the owner of the reference. 44 * 45 * @return The owner of the reference. 46 */ 47 public Referencable 48 getOwner(); 49 50 /** 51 * Sets the owner of the reference. 52 * 53 * @param ref The owner of the reference. 54 */ 55 public void 56 setOwner(Referencable ref); 57 58 /** 59 * Obtains the target of the reference. 60 * 61 * @return The target of the reference. 62 */ 63 public Referencable 64 getTarget(); 65 66 /** 67 * Sets the target of the reference. 68 * 69 * @param ref The target of the reference. 70 */ 71 public void 72 setTarget(Referencable ref); 73 74 /** 75 * Cuts the reference. 76 */ 77 public void 78 cutIt(); 79 } 80