added alias methods for Operation

This commit is contained in:
Timo Westkämper 2010-04-28 20:47:23 +00:00
parent fc82de8865
commit fffaeea5a7
10 changed files with 74 additions and 0 deletions

View File

@ -15,6 +15,13 @@ import java.util.List;
* @version $Id$
*/
public interface Operation<RT> {
/**
* Create an alias for the operation
*
* @return
*/
Expr<RT> as(Path<RT> alias);
/**
* Cast to {@link Expr}
*

View File

@ -12,6 +12,7 @@ import com.mysema.query.types.Expr;
import com.mysema.query.types.Operation;
import com.mysema.query.types.Operator;
import com.mysema.query.types.Ops;
import com.mysema.query.types.Path;
import com.mysema.query.types.Visitor;
/**
@ -76,5 +77,10 @@ public class OBoolean extends EBoolean implements Operation<Boolean> {
public int hashCode(){
return getType().hashCode();
}
@Override
public Expr<Boolean> as(Path<Boolean> alias) {
return OBoolean.create((Operator)Ops.ALIAS, this, alias.asExpr());
}
}

View File

@ -11,6 +11,8 @@ import java.util.List;
import com.mysema.query.types.Expr;
import com.mysema.query.types.Operation;
import com.mysema.query.types.Operator;
import com.mysema.query.types.Ops;
import com.mysema.query.types.Path;
import com.mysema.query.types.Visitor;
/**
@ -78,4 +80,10 @@ public class OComparable<D extends Comparable<?>> extends
public int hashCode(){
return getType().hashCode();
}
@SuppressWarnings("unchecked")
@Override
public EComparable<D> as(Path<D> alias) {
return OComparable.create(getType(),(Operator)Ops.ALIAS, this, alias.asExpr());
}
}

View File

@ -11,6 +11,8 @@ import java.util.List;
import com.mysema.query.types.Expr;
import com.mysema.query.types.Operation;
import com.mysema.query.types.Operator;
import com.mysema.query.types.Ops;
import com.mysema.query.types.Path;
import com.mysema.query.types.Visitor;
/**
@ -78,4 +80,10 @@ public class ODate<D extends Comparable<?>> extends
public int hashCode(){
return getType().hashCode();
}
@SuppressWarnings("unchecked")
@Override
public EDate<D> as(Path<D> alias) {
return ODate.create(getType(),(Operator)Ops.ALIAS, this, alias.asExpr());
}
}

View File

@ -11,6 +11,8 @@ import java.util.List;
import com.mysema.query.types.Expr;
import com.mysema.query.types.Operation;
import com.mysema.query.types.Operator;
import com.mysema.query.types.Ops;
import com.mysema.query.types.Path;
import com.mysema.query.types.Visitor;
/**
@ -79,4 +81,10 @@ public class ODateTime<D extends Comparable<?>> extends
public int hashCode(){
return getType().hashCode();
}
@SuppressWarnings("unchecked")
@Override
public EDateTime<D> as(Path<D> alias) {
return ODateTime.create(getType(),(Operator)Ops.ALIAS, this, alias.asExpr());
}
}

View File

@ -11,6 +11,8 @@ import java.util.List;
import com.mysema.query.types.Expr;
import com.mysema.query.types.Operation;
import com.mysema.query.types.Operator;
import com.mysema.query.types.Ops;
import com.mysema.query.types.Path;
import com.mysema.query.types.Visitor;
/**
@ -78,4 +80,10 @@ public class ONumber<D extends Number & Comparable<?>>
public int hashCode(){
return getType().hashCode();
}
@SuppressWarnings("unchecked")
@Override
public ENumber<D> as(Path<D> alias) {
return ONumber.create(getType(),(Operator)Ops.ALIAS, this, alias.asExpr());
}
}

View File

@ -11,6 +11,8 @@ import java.util.List;
import com.mysema.query.types.Expr;
import com.mysema.query.types.Operation;
import com.mysema.query.types.Operator;
import com.mysema.query.types.Ops;
import com.mysema.query.types.Path;
import com.mysema.query.types.Visitor;
/**
@ -77,4 +79,10 @@ public class OSimple<D> extends ESimple<D> implements Operation<D> {
public int hashCode(){
return getType().hashCode();
}
@SuppressWarnings("unchecked")
@Override
public Expr<D> as(Path<D> alias) {
return OSimple.create(getType(),(Operator)Ops.ALIAS, this, alias.asExpr());
}
}

View File

@ -11,6 +11,8 @@ import java.util.List;
import com.mysema.query.types.Expr;
import com.mysema.query.types.Operation;
import com.mysema.query.types.Operator;
import com.mysema.query.types.Ops;
import com.mysema.query.types.Path;
import com.mysema.query.types.Visitor;
/**
@ -66,4 +68,9 @@ public class OString extends EString implements Operation<String> {
public int hashCode(){
return getType().hashCode();
}
@Override
public EString as(Path<String> alias) {
return OString.create((Operator)Ops.ALIAS, this, alias.asExpr());
}
}

View File

@ -11,6 +11,8 @@ import java.util.List;
import com.mysema.query.types.Expr;
import com.mysema.query.types.Operation;
import com.mysema.query.types.Operator;
import com.mysema.query.types.Ops;
import com.mysema.query.types.Path;
import com.mysema.query.types.Visitor;
/**
@ -77,4 +79,10 @@ public class OTime<D extends Comparable<?>> extends ETime<D> implements Operatio
public int hashCode(){
return getType().hashCode();
}
@SuppressWarnings("unchecked")
@Override
public ETime<D> as(Path<D> alias) {
return OTime.create(getType(),(Operator)Ops.ALIAS, this, alias.asExpr());
}
}

View File

@ -12,6 +12,7 @@ import java.util.List;
import com.mysema.query.types.Expr;
import com.mysema.query.types.Operation;
import com.mysema.query.types.Operator;
import com.mysema.query.types.Path;
/**
* @author tiwe
@ -78,5 +79,10 @@ public final class OperationMixin<RT> implements Operation<RT>, Serializable {
public int hashCode(){
return self.getType().hashCode();
}
@Override
public Expr<RT> as(Path<RT> alias) {
throw new UnsupportedOperationException();
}
}