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 }