*/
public void visit(TrimExpression expression) {
// Create the TRIM character expression
expression.getTrimCharacter().accept(this);
Expression trimCharacter = queryExpression;
// Create the string to trim
expression.getExpression().accept(this);
Expression stringExpression = queryExpression;
switch (expression.getSpecification()) {
case LEADING: {
if (trimCharacter != null) {
queryExpression = stringExpression.leftTrim(trimCharacter);
}
else {
queryExpression = stringExpression.leftTrim();
}
break;
}
case TRAILING: {
if (trimCharacter != null) {
queryExpression = stringExpression.rightTrim(trimCharacter);
}
else {
queryExpression = stringExpression.rightTrim();
}
break;
}
default: {
if (trimCharacter != null) {
queryExpression = stringExpression.trim(trimCharacter);
}
else {
queryExpression = stringExpression.trim();
}
break;
}
}