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 }