updated version to 0.5.3-SNAPSHOT

This commit is contained in:
Timo Westkämper 2009-09-10 15:46:50 +00:00
parent 06035ae175
commit 47eef2958d
25 changed files with 164 additions and 255 deletions

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>0.5.2-SNAPSHOT</version>
<version>0.5.3-SNAPSHOT</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>0.5.2-SNAPSHOT</version>
<version>0.5.3-SNAPSHOT</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>0.5.2-SNAPSHOT</version>
<version>0.5.3-SNAPSHOT</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -18,7 +18,7 @@ import com.mysema.query.types.operation.Ops;
*/
public abstract class EBoolean extends EComparable<Boolean> {
private EBoolean not;
private volatile EBoolean not;
public EBoolean() {
super(Boolean.class);

View File

@ -21,9 +21,9 @@ import com.mysema.query.types.operation.Ops;
*/
public abstract class ECollectionBase<D> extends Expr<java.util.Collection<D>> implements ECollection<D> {
private EBoolean empty;
private volatile EBoolean empty;
private ENumber<Integer> size;
private volatile ENumber<Integer> size;
public ECollectionBase(Class<? extends Collection<D>> type) {
super(type);

View File

@ -1,39 +1,22 @@
/*
* Copyright (c) 2009 Mysema Ltd.
* All rights reserved.
*
*/
package com.mysema.query.types.expr;
import com.mysema.query.types.Order;
import com.mysema.query.types.OrderSpecifier;
import com.mysema.query.types.operation.OBoolean;
import com.mysema.query.types.operation.ONumber;
import com.mysema.query.types.operation.OString;
import com.mysema.query.types.operation.Ops;
/**
* EComparable represents comparable expressions
*
* EComparable extends EComparableBase to provide comparison methods.
*
* @author tiwe
*
* @param <D> Java type
* @see java.lang.Comparable
*
* @param <D>
*/
@SuppressWarnings("unchecked")
public abstract class EComparable<D extends Comparable> extends Expr<D> {
private OrderSpecifier<D> asc;
public abstract class EComparable<D extends Comparable> extends EComparableBase<D> {
private OrderSpecifier<D> desc;
private EString stringCast;
public EComparable(Class<? extends D> type) {
super(type);
}
/**
* Create a <code>this &gt; right</code> expression
*
@ -77,19 +60,7 @@ public abstract class EComparable<D extends Comparable> extends Expr<D> {
public EBoolean goe(Expr<D> right) {
return OBoolean.create(Ops.AOE, this, right);
}
/**
* Get an OrderSpecifier for ascending order of this expression
*
* @return
*/
public final OrderSpecifier<D> asc() {
if (asc == null){
asc = new OrderSpecifier<D>(Order.ASC, this);
}
return asc;
}
/**
* Create a <code>this &lt; right</code> expression
*
@ -134,81 +105,4 @@ public abstract class EComparable<D extends Comparable> extends Expr<D> {
return OBoolean.create(Ops.BOE, this, right);
}
/**
* Create a <code>first &lt; this &lt; second</code> expression
*
* @param first
* @param second
* @return
*/
public final EBoolean between(D first, D second) {
return OBoolean.create(Ops.BETWEEN, this, ExprConst.create(first), ExprConst.create(second));
}
/**
* Create a <code>first &lt; this &lt; second</code> expression
*
* @param first
* @param second
* @return
*/
public final EBoolean between(Expr<D> first, Expr<D> second) {
return OBoolean.create(Ops.BETWEEN, this, first, second);
}
/**
* Create a cast expression to the given numeric type
*
* @param <A>
* @param type
* @return
*/
public <A extends Number & Comparable<? super A>> ENumber<A> castToNum(Class<A> type) {
return ONumber.create(type, Ops.NUMCAST, this, ExprConst.create(type));
}
/**
* Get an OrderSpecifier for descending order of this expression
*
* @return
*/
public final OrderSpecifier<D> desc() {
if (desc == null){
desc = new OrderSpecifier<D>(Order.DESC, this);
}
return desc;
}
/**
* @param first
* @param second
* @return
*/
public final EBoolean notBetween(D first, D second) {
return between(first, second).not();
}
/**
* @param first
* @param second
* @return
*/
public final EBoolean notBetween(Expr<D> first, Expr<D> second) {
return between(first, second).not();
}
/**
* Get a cast to String expression
*
* @see java.lang.Object#toString()
* @return
*/
public EString stringValue() {
if (stringCast == null){
stringCast = OString.create(Ops.STRING_CAST, this);
}
return stringCast;
}
}
}

View File

@ -0,0 +1,125 @@
/*
* Copyright (c) 2009 Mysema Ltd.
* All rights reserved.
*
*/
package com.mysema.query.types.expr;
import com.mysema.query.types.Order;
import com.mysema.query.types.OrderSpecifier;
import com.mysema.query.types.operation.OBoolean;
import com.mysema.query.types.operation.ONumber;
import com.mysema.query.types.operation.OString;
import com.mysema.query.types.operation.Ops;
/**
* EComparableBase represents comparable expressions
*
* @author tiwe
*
* @param <D> Java type
* @see java.lang.Comparable
*/
@SuppressWarnings("unchecked")
public abstract class EComparableBase<D extends Comparable> extends Expr<D> {
private volatile OrderSpecifier<D> asc, desc;
private volatile EString stringCast;
public EComparableBase(Class<? extends D> type) {
super(type);
}
/**
* Get an OrderSpecifier for ascending order of this expression
*
* @return
*/
public final OrderSpecifier<D> asc() {
if (asc == null){
asc = new OrderSpecifier<D>(Order.ASC, this);
}
return asc;
}
/**
* Create a <code>first &lt; this &lt; second</code> expression
*
* @param first
* @param second
* @return
*/
public final EBoolean between(D first, D second) {
return OBoolean.create(Ops.BETWEEN, this, ExprConst.create(first), ExprConst.create(second));
}
/**
* Create a <code>first &lt; this &lt; second</code> expression
*
* @param first
* @param second
* @return
*/
public final EBoolean between(Expr<D> first, Expr<D> second) {
return OBoolean.create(Ops.BETWEEN, this, first, second);
}
/**
* Create a cast expression to the given numeric type
*
* @param <A>
* @param type
* @return
*/
public <A extends Number & Comparable<? super A>> ENumber<A> castToNum(Class<A> type) {
return ONumber.create(type, Ops.NUMCAST, this, ExprConst.create(type));
}
/**
* Get an OrderSpecifier for descending order of this expression
*
* @return
*/
public final OrderSpecifier<D> desc() {
if (desc == null){
desc = new OrderSpecifier<D>(Order.DESC, this);
}
return desc;
}
/**
* @param first
* @param second
* @return
*/
public final EBoolean notBetween(D first, D second) {
return between(first, second).not();
}
/**
* @param first
* @param second
* @return
*/
public final EBoolean notBetween(Expr<D> first, Expr<D> second) {
return between(first, second).not();
}
/**
* Get a cast to String expression
*
* @see java.lang.Object#toString()
* @return
*/
public EString stringValue() {
if (stringCast == null){
stringCast = OString.create(Ops.STRING_CAST, this);
}
return stringCast;
}
}

View File

@ -25,7 +25,7 @@ public class EConstructor<D> extends Expr<D> {
private final List<Expr<?>> args;
private java.lang.reflect.Constructor<D> javaConstructor;
private volatile java.lang.reflect.Constructor<D> javaConstructor;
public EConstructor(Class<D> type, Expr<?>... args) {
super(type);

View File

@ -22,12 +22,8 @@ import com.mysema.query.types.operation.Ops;
@SuppressWarnings("unchecked")
public abstract class EDate<D extends Comparable> extends EDateOrTime<D> {
private ENumber<Integer> dayOfMonth;
private volatile ENumber<Integer> dayOfMonth, month, year;
private ENumber<Integer> month;
private ENumber<Integer> year;
public EDate(Class<? extends D> type) {
super(type);
}

View File

@ -22,17 +22,7 @@ import com.mysema.query.types.operation.Ops;
@SuppressWarnings("unchecked")
public abstract class EDateTime<D extends Comparable> extends EDateOrTime<D> {
private ENumber<Integer> dayOfMonth;
private ENumber<Integer> month;
private ENumber<Integer> year;
private ENumber<Integer> hours;
private ENumber<Integer> minutes;
private ENumber<Integer> seconds;
private volatile ENumber<Integer> dayOfMonth, month, year, hours, minutes, seconds;
public EDateTime(Class<? extends D> type) {
super(type);

View File

@ -21,9 +21,9 @@ import com.mysema.query.types.operation.Ops;
*/
public abstract class EMapBase<K,V> extends Expr<Map<K,V>> implements EMap<K,V> {
private ENumber<Integer> size;
private volatile ENumber<Integer> size;
private EBoolean empty;
private volatile EBoolean empty;
public EMapBase(Class<? extends Map<K, V>> type) {
super(type);

View File

@ -9,11 +9,8 @@ import java.math.BigDecimal;
import java.math.BigInteger;
import com.mysema.commons.lang.Assert;
import com.mysema.query.types.Order;
import com.mysema.query.types.OrderSpecifier;
import com.mysema.query.types.operation.OBoolean;
import com.mysema.query.types.operation.ONumber;
import com.mysema.query.types.operation.OString;
import com.mysema.query.types.operation.Ops;
import com.mysema.query.types.operation.Ops.MathOps;
@ -27,16 +24,10 @@ import com.mysema.query.types.operation.Ops.MathOps;
* @see java.lang.Number
*/
public abstract class ENumber<D extends Number & Comparable<?>> extends Expr<D> {
public abstract class ENumber<D extends Number & Comparable<?>> extends EComparableBase<D> {
private static ENumber<Double> random;
private OrderSpecifier<D> asc;
private OrderSpecifier<D> desc;
private EString stringCast;
/**
* Factory method
*
@ -436,87 +427,4 @@ public abstract class ENumber<D extends Number & Comparable<?>> extends Expr<D>
return sum;
}
/**
* Create a <code>first &lt; this &lt; second</code> expression
*
* @param first
* @param second
* @return
*/
// copied from EComparable
public final EBoolean between(D first, D second) {
return OBoolean.create(Ops.BETWEEN, this, ExprConst.create(first), ExprConst.create(second));
}
/**
* Create a <code>first &lt; this &lt; second</code> expression
*
* @param first
* @param second
* @return
*/
// copied from EComparable
public final EBoolean between(Expr<D> first, Expr<D> second) {
return OBoolean.create(Ops.BETWEEN, this, first, second);
}
/**
* @param first
* @param second
* @return
*/
// copied from EComparable
public final EBoolean notBetween(D first, D second) {
return between(first, second).not();
}
/**
* @param first
* @param second
* @return
*/
// copied from EComparable
public final EBoolean notBetween(Expr<D> first, Expr<D> second) {
return between(first, second).not();
}
/**
* Get an OrderSpecifier for ascending order of this expression
*
* @return
*/
// copied from EComparable
public final OrderSpecifier<D> asc() {
if (asc == null){
asc = new OrderSpecifier<D>(Order.ASC, this);
}
return asc;
}
/**
* Get an OrderSpecifier for descending order of this expression
*
* @return
*/
// copied from EComparable
public final OrderSpecifier<D> desc() {
if (desc == null){
desc = new OrderSpecifier<D>(Order.DESC, this);
}
return desc;
}
/**
* Get a cast to String expression
*
* @see java.lang.Object#toString()
* @return
*/
// copied from EComparable
public EString stringValue() {
if (stringCast == null){
stringCast = OString.create(Ops.STRING_CAST, this);
}
return stringCast;
}
}

View File

@ -33,9 +33,9 @@ public abstract class EString extends EComparable<String> {
return new EStringConst(Assert.notNull(str));
}
private ENumber<Long> length;
private volatile ENumber<Long> length;
private EString lower, trim, upper;
private volatile EString lower, trim, upper;
public EString() {
super(String.class);

View File

@ -20,9 +20,9 @@ public class EStringConst extends EString implements Constant<String>{
private final String constant;
private ENumber<Long> length;
private volatile ENumber<Long> length;
private EString lower, trim, upper;
private volatile EString lower, trim, upper;
EStringConst(String constant){
this.constant = constant;

View File

@ -21,12 +21,8 @@ import com.mysema.query.types.operation.Ops;
@SuppressWarnings("unchecked")
public abstract class ETime<D extends Comparable> extends EDateOrTime<D> {
private ENumber<Integer> hours;
private volatile ENumber<Integer> hours, minutes, seconds;
private ENumber<Integer> minutes;
private ENumber<Integer> seconds;
public ETime(Class<? extends D> type) {
super(type);
}

View File

@ -49,11 +49,11 @@ public abstract class Expr<D> {
return Ops.AggOps.COUNT_ALL_AGG_EXPR;
}
private ENumber<Long> count;
private volatile ENumber<Long> count;
private final boolean primitive;
private String toString;
private volatile String toString;
private final Class<? extends D> type;

View File

@ -10,7 +10,7 @@ import java.lang.reflect.Array;
import javax.annotation.Nonnegative;
import com.mysema.query.types.expr.EBoolean;
import com.mysema.query.types.expr.EComparable;
import com.mysema.query.types.expr.EComparableBase;
import com.mysema.query.types.expr.ENumber;
import com.mysema.query.types.expr.Expr;
import com.mysema.query.types.operation.OBoolean;

View File

@ -6,7 +6,6 @@
package com.mysema.query.types.path;
import com.mysema.query.types.Visitor;
import com.mysema.query.types.expr.EComparable;
import com.mysema.query.types.expr.Expr;
import com.mysema.query.util.NotEmpty;
@ -28,12 +27,12 @@ public class PComparableArray<D extends Comparable> extends PArray<D> {
}
@Override
public EComparable<D> get(Expr<Integer> index) {
public PComparable<D> get(Expr<Integer> index) {
return new PComparable<D>(componentType, PathMetadata.forArrayAccess(this, index));
}
@Override
public EComparable<D> get(int index) {
public PComparable<D> get(int index) {
return new PComparable<D>(componentType, PathMetadata.forArrayAccess(this, index));
}

View File

@ -14,6 +14,7 @@ import java.util.List;
import com.mysema.query.types.expr.EBoolean;
import com.mysema.query.types.expr.ECollection;
import com.mysema.query.types.expr.EComparable;
import com.mysema.query.types.expr.EComparableBase;
import com.mysema.query.types.expr.EDate;
import com.mysema.query.types.expr.EDateTime;
import com.mysema.query.types.expr.EList;

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>0.5.2-SNAPSHOT</version>
<version>0.5.3-SNAPSHOT</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>0.5.2-SNAPSHOT</version>
<version>0.5.3-SNAPSHOT</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>0.5.2-SNAPSHOT</version>
<version>0.5.3-SNAPSHOT</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>0.5.2-SNAPSHOT</version>
<version>0.5.3-SNAPSHOT</version>
<name>Querydsl</name>
<description>parent project for querydsl modules</description>
<url>http://source.mysema.com/display/querydsl</url>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-root</artifactId>
<version>0.5.2-SNAPSHOT</version>
<version>0.5.3-SNAPSHOT</version>
</parent>
<groupId>com.mysema.querydsl</groupId>

View File

@ -8,7 +8,7 @@ package com.mysema.query.sql.oracle;
import java.util.Date;
import com.mysema.query.sql.SumOver;
import com.mysema.query.types.expr.EComparable;
import com.mysema.query.types.expr.EComparableBase;
import com.mysema.query.types.expr.ENumber;
import com.mysema.query.types.expr.Expr;
import com.mysema.query.types.path.PComparable;
@ -30,7 +30,7 @@ public class OracleGrammar {
public static ENumber<Integer> rownum = new PNumber<Integer>(Integer.class, createVariable("rownum"));
public static EComparable<Date> sysdate = new PComparable<Date>(Date.class, createVariable("sysdate"));
public static EComparableBase<Date> sysdate = new PComparable<Date>(Date.class, createVariable("sysdate"));
// custom functions