01: package org.mandarax.jdbc.server.sql;
02:
03: /*
04: * Copyright (C) 1999-2004 <a href="mailto:mandarax@jbdietrich.com">Jens Dietrich</a>
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2 of the License, or (at your option) any later version.
10: *
11: * This library 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 GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this library; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19: */
20:
21: import java.util.Map;
22: import org.mandarax.util.resultsetfilters.ResultSetCondition;
23:
24: /**
25: * Represents a condition used in a WHERE clause.
26: * @author <A HREF="mailto:mandarax@jbdietrich.com">Jens Dietrich</A>
27: * @version 3.3.2 <29 December 2004>
28: * @since 3.0
29: */
30:
31: public abstract class Condition extends SQLObject implements
32: ResultSetCondition {
33: protected ConditionContext context = null;
34: protected boolean negated = false;
35:
36: /**
37: * Constructor.
38: */
39: public Condition() {
40: super ();
41: }
42:
43: /**
44: * Gather the host variables.
45: * @param variables the list used to collect the variables
46: */
47: public abstract void prepare(java.util.List variables);
48:
49: /**
50: * @return ConditionContext
51: */
52: public ConditionContext getContext() {
53: return context;
54: }
55:
56: /**
57: * Sets the context.
58: * @param context The context to set
59: */
60: void setOwner(ConditionContext context) {
61: this .context = context;
62: }
63:
64: /**
65: * Indicates whether this condition is negated.
66: * @return boolean
67: */
68: public boolean isNegated() {
69: return negated;
70: }
71:
72: /**
73: * Sets the negated.
74: * @param negated The negated to set
75: */
76: public void setNegated(boolean negated) {
77: this .negated = negated;
78: }
79:
80: /**
81: * Set variable names / variable associations.
82: * @param variablesByNames a map containing variable name -> variable term associations
83: */
84: abstract void setVariablesByName(Map variablesByName);
85: }
|