1 package uba.db.sql.language;
2
3 /***
4 * Clase base para crear implementaciones de {@link SelectionCriteria}.
5 *
6 * @version $Revision: 1.4 $
7 */
8 public abstract class SelectionCriteriaBehavior implements SelectionCriteria {
9 /***
10 * @see uba.db.sql.language.SelectionCriteria#and(uba.db.sql.language.SelectionCriteria)
11 */
12 public SelectionCriteria and(SelectionCriteria other) {
13 return other.andAfter(this);
14 }
15
16 /***
17 * @see uba.db.sql.language.SelectionCriteria#andAfter(uba.db.sql.language.SelectionCriteria)
18 */
19 public SelectionCriteria andAfter(SelectionCriteria other) {
20 return new AndSelectionCriteria(other, this);
21 }
22
23 /***
24 * @see uba.db.sql.language.SelectionCriteria#orAfter(uba.db.sql.language.SelectionCriteria)
25 */
26 public SelectionCriteria orAfter(SelectionCriteria other) {
27 return new OrSelectionCriteria(other, this);
28 }
29
30 /***
31 * @see uba.db.sql.language.SelectionCriteria#not()
32 */
33 public SelectionCriteria not() {
34 return new NegatedSelectionCriteria(this);
35 }
36
37 /***
38 * @see uba.db.sql.language.SelectionCriteria#or(uba.db.sql.language.SelectionCriteria)
39 */
40 public SelectionCriteria or(SelectionCriteria other) {
41 return other.orAfter(this);
42 }
43
44 /***
45 * @see uba.db.sql.language.SelectionCriteria#isTrueWith(uba.db.sql.language.EvaluationContext)
46 */
47 public boolean isTrueWith(EvaluationContext context) {
48 return ((Boolean) valueWith(context)).booleanValue();
49 }
50 }