1 /* 2 * Copyright (C) 2006 Methodhead Software LLC. All rights reserved. 3 * 4 * This file is part of TransferCM. 5 * 6 * TransferCM is free software; you can redistribute it and/or modify it under the 7 * terms of the GNU General Public License as published by the Free Software 8 * Foundation; either version 2 of the License, or (at your option) any later 9 * version. 10 * 11 * TransferCM is distributed in the hope that it will be useful, but WITHOUT ANY 12 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 14 * details. 15 * 16 * You should have received a copy of the GNU General Public License along with 17 * TransferCM; if not, write to the Free Software Foundation, Inc., 51 Franklin St, 18 * Fifth Floor, Boston, MA 02110-1301 USA 19 */ 20 21 package com.methodhead.persistable; 22 23 /** 24 * Defines a unique key for a <tt>KeyedPersistable</tt>. 25 */ 26 public interface Key { 27 28 // constructors ///////////////////////////////////////////////////////////// 29 30 // methods ////////////////////////////////////////////////////////////////// 31 32 /** 33 * Returns an expression suitable for use in a WHERE clause. The expression 34 * does not include the WHERE keyword. 35 */ 36 public String getWhereClause(); 37 38 /** 39 * Sets the properties to which this key corresponds for the 40 * specified <tt>persistable</tt>. 41 */ 42 public void setProperties( 43 Persistable persistable ); 44 45 /** 46 * Sets the value of the key using the specified <tt>persistable</tt>. 47 */ 48 public void setKeyValue( 49 Persistable persistable ); 50 } 51 52 53 54 55