This commit is contained in:
Timo Westkämper 2010-03-08 20:37:03 +00:00
parent 32ff34ee98
commit 4dbcb8d6db
5 changed files with 63 additions and 58 deletions

View File

@ -40,8 +40,7 @@ public abstract class EBoolean extends EComparable<Boolean> {
return OBoolean.create(Ops.AND, this, right);
}else{
return this;
}
}
}
/**

View File

@ -15,9 +15,9 @@ import com.mysema.query.types.Visitor;
*/
public final class EBooleanConst extends EBoolean implements Constant<Boolean>{
private static final long serialVersionUID = -4106376704553234781L;
public static final EBoolean FALSE = new EBooleanConst(Boolean.FALSE);
private static final long serialVersionUID = -4106376704553234781L;
public static final EBoolean TRUE = new EBooleanConst(Boolean.TRUE);
@ -31,6 +31,11 @@ public final class EBooleanConst extends EBoolean implements Constant<Boolean>{
this.constant = b;
}
@Override
public void accept(Visitor v) {
v.visit(this);
}
@Override
public EBoolean eq(Boolean b){
return constant.equals(b) ? TRUE : FALSE;
@ -48,12 +53,12 @@ public final class EBooleanConst extends EBoolean implements Constant<Boolean>{
return false;
}
}
@Override
public Boolean getConstant() {
return constant;
}
@Override
public int hashCode() {
return constant.hashCode();
@ -63,15 +68,10 @@ public final class EBooleanConst extends EBoolean implements Constant<Boolean>{
public EBoolean ne(Boolean b){
return constant.equals(b) ? FALSE : TRUE;
}
@Override
public EBoolean not() {
return constant.booleanValue() ? FALSE : TRUE;
}
@Override
public void accept(Visitor v) {
v.visit(this);
}
}

View File

@ -24,9 +24,9 @@ import com.mysema.query.types.Visitor;
*/
public final class EStringConst extends EString implements Constant<String>{
private static final long serialVersionUID = 5182804405789674556L;
private static final Map<String,EString> CACHE;
private static final long serialVersionUID = 5182804405789674556L;
static{
List<String> strs = new ArrayList<String>(Arrays.asList("", ".", ".*", "%"));
@ -110,6 +110,18 @@ public final class EStringConst extends EString implements Constant<String>{
return EBooleanConst.create(constant.equals(s));
}
@SuppressWarnings("unchecked")
@Override
public boolean equals(Object o) {
if (o == this){
return true;
}else if (o instanceof Constant){
return ((Constant)o).getConstant().equals(constant);
}else{
return false;
}
}
@Override
public EBoolean equalsIgnoreCase(String str) {
return EBooleanConst.create(constant.equalsIgnoreCase(str));
@ -119,7 +131,7 @@ public final class EStringConst extends EString implements Constant<String>{
public String getConstant() {
return constant;
}
@Override
public int hashCode() {
return constant.hashCode();
@ -142,7 +154,7 @@ public final class EStringConst extends EString implements Constant<String>{
}
return length;
}
@Override
public EString lower() {
if (lower == null) {
@ -150,7 +162,7 @@ public final class EStringConst extends EString implements Constant<String>{
}
return lower;
}
@Override
public EBoolean matches(String pattern){
return EBooleanConst.create(constant.matches(pattern));
@ -180,12 +192,12 @@ public final class EStringConst extends EString implements Constant<String>{
public Expr<String[]> split(String regex) {
return ExprConst.create(constant.split(regex));
}
@Override
public EString substring(int beginIndex) {
return EStringConst.create(constant.substring(beginIndex));
}
@Override
public EString substring(int beginIndex, int endIndex) {
return EStringConst.create(constant.substring(beginIndex, endIndex));
@ -209,6 +221,7 @@ public final class EStringConst extends EString implements Constant<String>{
return trim;
}
@Override
public EString upper() {
if (upper == null){
@ -216,17 +229,4 @@ public final class EStringConst extends EString implements Constant<String>{
}
return upper;
}
@SuppressWarnings("unchecked")
@Override
public boolean equals(Object o) {
if (o == this){
return true;
}else if (o instanceof Constant){
return ((Constant)o).getConstant().equals(constant);
}else{
return false;
}
}
}

View File

@ -55,9 +55,11 @@ public abstract class Expr<D> implements Serializable{
public abstract void accept(Visitor v);
/**
* Used for safe casts from Path, SubQuery, Operation and Custom to Expr
*
* @return
*/
public Expr<D> asExpr(){
public final Expr<D> asExpr(){
return this;
}
@ -237,6 +239,8 @@ public abstract class Expr<D> implements Serializable{
}
/**
* Get a case expression builder
*
* @param other
* @return
*/
@ -245,6 +249,8 @@ public abstract class Expr<D> implements Serializable{
}
/**
* Get a case expression builder
*
* @param other
* @return
*/

View File

@ -44,36 +44,16 @@ public class ExprConst<D> extends Expr<D> implements Constant<D> {
this.constant = constant;
}
@Override
public int hashCode() {
return constant.hashCode();
}
/**
* Get the embedded constant
*
* @return
*/
@Override
public D getConstant() {
return constant;
}
@Override
public EBoolean eq(D s){
return EBooleanConst.create(constant.equals(s));
}
@Override
public EBoolean ne(D s){
return EBooleanConst.create(!constant.equals(s));
}
@Override
public void accept(Visitor v) {
v.visit(this);
}
@Override
public EBoolean eq(D s){
return EBooleanConst.create(constant.equals(s));
}
@SuppressWarnings("unchecked")
@Override
public boolean equals(Object o) {
@ -86,4 +66,24 @@ public class ExprConst<D> extends Expr<D> implements Constant<D> {
}
}
/**
* Get the embedded constant
*
* @return
*/
@Override
public D getConstant() {
return constant;
}
@Override
public int hashCode() {
return constant.hashCode();
}
@Override
public EBoolean ne(D s){
return EBooleanConst.create(!constant.equals(s));
}
}