01: /*
02: * Copyright (C) 2006 Methodhead Software LLC. All rights reserved.
03: *
04: * This file is part of TransferCM.
05: *
06: * TransferCM is free software; you can redistribute it and/or modify it under the
07: * terms of the GNU General Public License as published by the Free Software
08: * Foundation; either version 2 of the License, or (at your option) any later
09: * 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(Persistable persistable);
43:
44: /**
45: * Sets the value of the key using the specified <tt>persistable</tt>.
46: */
47: public void setKeyValue(Persistable persistable);
48: }
|