01: /**
02: * com.mckoi.database.StatementTreeObject 09 Sep 2001
03: *
04: * Mckoi SQL Database ( http://www.mckoi.com/database )
05: * Copyright (C) 2000, 2001, 2002 Diehl and Associates, Inc.
06: *
07: * This program is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU General Public License
09: * Version 2 as published by the Free Software Foundation.
10: *
11: * This program is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: * GNU General Public License Version 2 for more details.
15: *
16: * You should have received a copy of the GNU General Public License
17: * Version 2 along with this program; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19: *
20: * Change Log:
21: *
22: *
23: */package com.mckoi.database;
24:
25: /**
26: * An complex object that is to be contained within a StatementTree object.
27: * A statement tree object must be serializable, and it must be able to
28: * reference all Expression objects so that they may be prepared.
29: *
30: * @author Tobias Downer
31: */
32:
33: public interface StatementTreeObject {
34:
35: /**
36: * Prepares all expressions in this statement tree object by passing the
37: * ExpressionPreparer object to the 'prepare' method of the expression.
38: */
39: void prepareExpressions(ExpressionPreparer preparer)
40: throws DatabaseException;
41:
42: /**
43: * Performs a DEEP clone of this object if it is mutable, or a deep clone
44: * of its mutable members. If the object is immutable then it may return
45: * 'this'.
46: */
47: Object clone() throws CloneNotSupportedException;
48:
49: }
|