added javadocs

This commit is contained in:
Timo Westkämper 2011-01-16 14:43:55 +00:00
parent 3ae0aa8470
commit 3db1968a58
3 changed files with 155 additions and 8 deletions

View File

@ -47,6 +47,12 @@ public final class BooleanBuilder implements Predicate, Cloneable, Operation<Boo
}
}
/**
* Create the insertion of this and the given predicate
*
* @param right
* @return
*/
public BooleanBuilder and(@Nullable Predicate right) {
if (right != null){
if (predicate == null){
@ -72,6 +78,12 @@ public final class BooleanBuilder implements Predicate, Cloneable, Operation<Boo
return this;
}
/**
* Create the insertion of this and the negation of the given predicate
*
* @param right
* @return
*/
public BooleanBuilder andNot(Predicate right) {
return and(right.not());
}
@ -138,6 +150,12 @@ public final class BooleanBuilder implements Predicate, Cloneable, Operation<Boo
return this;
}
/**
* Create the union of this and the given predicate
*
* @param right
* @return
*/
public BooleanBuilder or(@Nullable Predicate right) {
if (right != null){
if (predicate == null){
@ -163,6 +181,12 @@ public final class BooleanBuilder implements Predicate, Cloneable, Operation<Boo
return this;
}
/**
* Create the union of this and the negation of the given predicate
*
* @param right
* @return
*/
public BooleanBuilder orNot(Predicate right){
return or(right.not());
}

View File

@ -8,6 +8,8 @@ package com.mysema.query.types;
import org.apache.commons.collections15.Transformer;
/**
* Converters provides expression converters for lower case, upper case and prefix/suffix conversions
*
* @author tiwe
*
*/
@ -15,12 +17,18 @@ public final class Converters {
private final String escape1, escape2;
/**
* Create a new Converters instance
*
* @param escape escape character to be used
*/
public Converters(char escape){
escape1 = escape + "%";
escape2 = escape + "_";
}
public final Transformer<Expression<String>,Expression<String>> toLowerCase = new Transformer<Expression<String>,Expression<String>>(){
public final Transformer<Expression<String>,Expression<String>> toLowerCase =
new Transformer<Expression<String>,Expression<String>>(){
@Override
public Expression<String> transform(Expression<String> arg) {
if (arg instanceof Constant<?>){
@ -31,7 +39,8 @@ public final class Converters {
}
};
public final Transformer<Expression<String>,Expression<String>> toUpperCase = new Transformer<Expression<String>,Expression<String>>(){
public final Transformer<Expression<String>,Expression<String>> toUpperCase =
new Transformer<Expression<String>,Expression<String>>(){
@Override
public Expression<String> transform(Expression<String> arg) {
if (arg instanceof Constant<?>){
@ -42,7 +51,8 @@ public final class Converters {
}
};
public final Transformer<Expression<String>,Expression<String>> toStartsWithViaLike = new Transformer<Expression<String>,Expression<String>>(){
public final Transformer<Expression<String>,Expression<String>> toStartsWithViaLike =
new Transformer<Expression<String>,Expression<String>>(){
@Override
public Expression<String> transform(Expression<String> arg) {
if (arg instanceof Constant<?>){
@ -53,7 +63,8 @@ public final class Converters {
}
};
public final Transformer<Expression<String>,Expression<String>> toStartsWithViaLikeLower = new Transformer<Expression<String>,Expression<String>>(){
public final Transformer<Expression<String>,Expression<String>> toStartsWithViaLikeLower =
new Transformer<Expression<String>,Expression<String>>(){
@Override
public Expression<String> transform(Expression<String> arg) {
if (arg instanceof Constant<?>){
@ -65,7 +76,8 @@ public final class Converters {
}
};
public final Transformer<Expression<String>,Expression<String>> toEndsWithViaLike = new Transformer<Expression<String>,Expression<String>>(){
public final Transformer<Expression<String>,Expression<String>> toEndsWithViaLike =
new Transformer<Expression<String>,Expression<String>>(){
@Override
public Expression<String> transform(Expression<String> arg) {
if (arg instanceof Constant<?>){
@ -76,7 +88,8 @@ public final class Converters {
}
};
public final Transformer<Expression<String>,Expression<String>> toEndsWithViaLikeLower = new Transformer<Expression<String>,Expression<String>>(){
public final Transformer<Expression<String>,Expression<String>> toEndsWithViaLikeLower =
new Transformer<Expression<String>,Expression<String>>(){
@Override
public Expression<String> transform(Expression<String> arg) {
if (arg instanceof Constant<?>){
@ -88,7 +101,8 @@ public final class Converters {
}
};
public final Transformer<Expression<String>,Expression<String>> toContainsViaLike = new Transformer<Expression<String>,Expression<String>>(){
public final Transformer<Expression<String>,Expression<String>> toContainsViaLike =
new Transformer<Expression<String>,Expression<String>>(){
@Override
public Expression<String> transform(Expression<String> arg) {
if (arg instanceof Constant<?>){
@ -100,7 +114,8 @@ public final class Converters {
}
};
public final Transformer<Expression<String>,Expression<String>> toContainsViaLikeLower = new Transformer<Expression<String>,Expression<String>>(){
public final Transformer<Expression<String>,Expression<String>> toContainsViaLikeLower =
new Transformer<Expression<String>,Expression<String>>(){
@Override
public Expression<String> transform(Expression<String> arg) {
if (arg instanceof Constant<?>){

View File

@ -18,6 +18,12 @@ import javax.annotation.Nullable;
*/
public final class ExpressionUtils {
/**
* Create the intersection of the given arguments
*
* @param exprs
* @return
*/
@Nullable
public static Predicate allOf(Predicate... exprs){
Predicate rv = null;
@ -27,10 +33,23 @@ public final class ExpressionUtils {
return rv;
}
/**
* Create the intersection of the given arguments
*
* @param left
* @param right
* @return
*/
public static Predicate and(Predicate left, Predicate right){
return new PredicateOperation(Ops.AND, left, right);
}
/**
* Create the union of the given arguments
*
* @param exprs
* @return
*/
@Nullable
public static Predicate anyOf(Predicate... exprs){
Predicate rv = null;
@ -40,18 +59,50 @@ public final class ExpressionUtils {
return rv;
}
/**
* Create an alias expression (source as alias) with the given source and alias
*
* @param <D>
* @param source
* @param alias
* @return
*/
public static <D> Expression<D> as(Expression<D> source, Path<D> alias) {
return new OperationImpl<D>(alias.getType(), Ops.ALIAS, source, alias);
}
/**
* Create an alias expression (source as alias) with the given source and alias
*
* @param <D>
* @param source
* @param alias
* @return
*/
public static <D> Expression<D> as(Expression<D> source, String alias) {
return as(source, new PathImpl<D>(source.getType(), alias));
}
/**
* Create an left equals constant expression
*
* @param <D>
* @param left
* @param constant
* @return
*/
public static <D> Predicate eqConst(Expression<D> left, D constant) {
return eq(left, new ConstantImpl<D>(constant));
}
/**
* Create an left equals right expression
*
* @param <D>
* @param left
* @param right
* @return
*/
public static <D> Predicate eq(Expression<D> left, Expression<? extends D> right) {
if (isPrimitive(left.getType())) {
return new PredicateOperation(Ops.EQ_PRIMITIVE, left, right);
@ -60,10 +111,26 @@ public final class ExpressionUtils {
}
}
/**
* Create an left in right expression
*
* @param <D>
* @param left
* @param right
* @return
*/
public static <D> Predicate in(Expression<D> left, CollectionExpression<?,? extends D> right) {
return new PredicateOperation(Ops.IN, left, right);
}
/**
* Create an left in right expression
*
* @param <D>
* @param left
* @param right
* @return
*/
public static <D> Predicate in(Expression<D> left, Collection<? extends D> right) {
if (right.size() == 1){
return eqConst(left, right.iterator().next());
@ -72,10 +139,22 @@ public final class ExpressionUtils {
}
}
/**
* Create a left is null expression
*
* @param left
* @return
*/
public static Predicate isNull(Expression<?> left) {
return new PredicateOperation(Ops.IS_NULL, left);
}
/**
* Create a left is not null expression
*
* @param left
* @return
*/
public static Predicate isNotNull(Expression<?> left) {
return new PredicateOperation(Ops.IS_NOT_NULL, left);
}
@ -87,6 +166,12 @@ public final class ExpressionUtils {
|| Character.class.equals(type);
}
/**
* Convert the given like pattern to a regex pattern
*
* @param expr
* @return
*/
@SuppressWarnings("unchecked")
public static Expression<String> likeToRegex(Expression<String> expr){
if (expr instanceof Constant<?>){
@ -123,10 +208,26 @@ public final class ExpressionUtils {
}
}
/**
* Create a left not equals constant expression
*
* @param <D>
* @param left
* @param constant
* @return
*/
public static <D> Predicate neConst(Expression<D> left, D constant) {
return ne(left, new ConstantImpl<D>(constant));
}
/**
* Create a left not equals right expression
*
* @param <D>
* @param left
* @param right
* @return
*/
public static <D> Predicate ne(Expression<D> left, Expression<? super D> right) {
if (isPrimitive(left.getType())) {
return new PredicateOperation(Ops.NE_PRIMITIVE, left, right);
@ -135,6 +236,13 @@ public final class ExpressionUtils {
}
}
/**
* Create a left or right expression
*
* @param left
* @param right
* @return
*/
public static Predicate or(Predicate left, Predicate right){
return new PredicateOperation(Ops.OR, left, right);
}