1 package xuml.tools.model.compiler.runtime.query;
2
3 import xuml.tools.model.compiler.runtime.Entity;
4
5 public abstract class StringExpression<T extends Entity<T>> {
6
7 public BooleanExpression<T> eq(StringExpression<T> e) {
8 return new StringComparison<T>(this, StringComparisonOperator.EQ, e);
9 }
10
11 public BooleanExpression<T> eq(String s) {
12 return new StringComparison<T>(this, StringComparisonOperator.EQ, new StringConstant<T>(s));
13 }
14
15 public BooleanExpression<T> neq(StringExpression<T> e) {
16 return new StringComparison<T>(this, StringComparisonOperator.NEQ, e);
17 }
18
19 public BooleanExpression<T> neq(String s) {
20 return new StringComparison<T>(this, StringComparisonOperator.NEQ,
21 new StringConstant<T>(s));
22 }
23
24 public BooleanExpression<T> gt(String s) {
25 return new StringComparison<T>(this, StringComparisonOperator.GT, new StringConstant<T>(s));
26 }
27
28 public BooleanExpression<T> gte(String s) {
29 return new StringComparison<T>(this, StringComparisonOperator.GTE,
30 new StringConstant<T>(s));
31 }
32
33 public BooleanExpression<T> lt(String s) {
34 return new StringComparison<T>(this, StringComparisonOperator.LT, new StringConstant<T>(s));
35 }
36
37 public BooleanExpression<T> lte(String s) {
38 return new StringComparison<T>(this, StringComparisonOperator.LTE,
39 new StringConstant<T>(s));
40 }
41
42 public BooleanExpression<T> like(String s) {
43 return new StringComparison<T>(this, StringComparisonOperator.LIKE,
44 new StringConstant<T>(s));
45 }
46 }