1 package xuml.tools.model.compiler.runtime.query;
2
3 import java.util.Date;
4
5 import xuml.tools.model.compiler.runtime.Entity;
6
7 public abstract class DateExpression<T extends Entity<T>> {
8
9 public BooleanExpression<T> lt(DateExpression<T> e) {
10 return new DateComparison<T>(this, DateComparisonOperator.LT, e);
11 }
12
13 public BooleanExpression<T> gt(DateExpression<T> e) {
14 return new DateComparison<T>(this, DateComparisonOperator.GT, e);
15 }
16
17 public BooleanExpression<T> before(DateExpression<T> e) {
18 return new DateComparison<T>(this, DateComparisonOperator.LT, e);
19 }
20
21 public BooleanExpression<T> after(DateExpression<T> e) {
22 return new DateComparison<T>(this, DateComparisonOperator.GT, e);
23 }
24
25 public BooleanExpression<T> lte(DateExpression<T> e) {
26 return new DateComparison<T>(this, DateComparisonOperator.LTE, e);
27 }
28
29 public BooleanExpression<T> gte(DateExpression<T> e) {
30 return new DateComparison<T>(this, DateComparisonOperator.GTE, e);
31 }
32
33 public BooleanExpression<T> eq(DateExpression<T> e) {
34 return new DateComparison<T>(this, DateComparisonOperator.EQ, e);
35 }
36
37 public BooleanExpression<T> neq(DateExpression<T> e) {
38 return new DateComparison<T>(this, DateComparisonOperator.NEQ, e);
39 }
40
41 public BooleanExpression<T> lt(Date e) {
42 return new DateComparison<T>(this, DateComparisonOperator.LT, new DateConstant<T>(e));
43 }
44
45 public BooleanExpression<T> gt(Date e) {
46 return new DateComparison<T>(this, DateComparisonOperator.GT, new DateConstant<T>(e));
47 }
48
49 public BooleanExpression<T> before(Date e) {
50 return new DateComparison<T>(this, DateComparisonOperator.LT, new DateConstant<T>(e));
51 }
52
53 public BooleanExpression<T> after(Date e) {
54 return new DateComparison<T>(this, DateComparisonOperator.GT, new DateConstant<T>(e));
55 }
56
57 public BooleanExpression<T> lte(Date e) {
58 return new DateComparison<T>(this, DateComparisonOperator.LTE, new DateConstant<T>(e));
59 }
60
61 public BooleanExpression<T> gte(Date e) {
62 return new DateComparison<T>(this, DateComparisonOperator.GTE, new DateConstant<T>(e));
63 }
64
65 public BooleanExpression<T> eq(Date e) {
66 return new DateComparison<T>(this, DateComparisonOperator.EQ, new DateConstant<T>(e));
67 }
68
69 public BooleanExpression<T> neq(Date e) {
70 return new DateComparison<T>(this, DateComparisonOperator.NEQ, new DateConstant<T>(e));
71 }
72
73 }