We dynamically build expressions based on a number of member variables.
This looks kind of like this:
public BooleanExpression getFilterExpression() {
BooleanExpression expression = <QEntity>.isNotNull();
if (A) {
BooleanBuilder builder = new BooleanBuilder();
<some-operation-on-the-builder>
expression = expression.and(builder);
}
if (B) {
BooleanBuilder builder = new BooleanBuilder();
<more-builder-stuff>
expression = expression.and(builder);
}
if (C) {
expression = expression.and(<another-predicate>);
}
if (D) {
expression = expression.and(<final-predicate>);
}
return expression;
}
After the first line we know for sure 'expression' is not null, that
makes the code more legible.
However, we'd much rather drop the superfluous always-true query
condition on the first line. Is there any other way we could initialize
the BooleanExpression?
Cheers,
Marcel
--
Marcel St�r,
http://www.frightanic.com
Couchsurfing:
http://www.couchsurfing.com/people/marcelstoer
O< ascii ribbon campaign - stop html mail -
www.asciiribbon.org