io.pelle.mango.client.base.vo.query.expressions.BaseBooleanExpression Maven / Gradle / Ivy
The newest version!
package io.pelle.mango.client.base.vo.query.expressions;
import io.pelle.mango.client.base.vo.query.IAliasProvider;
import io.pelle.mango.client.base.vo.query.IBooleanExpression;
import io.pelle.mango.client.base.vo.query.IExpression;
import io.pelle.mango.client.base.vo.query.LOGICAL_OPERATOR;
import java.util.HashMap;
import java.util.Map;
@SuppressWarnings("serial")
public abstract class BaseBooleanExpression implements IBooleanExpression {
private Map expressions = new HashMap();
public BaseBooleanExpression() {
super();
}
@Override
public IBooleanExpression and(IExpression andExpression) {
expressions.put(andExpression, LOGICAL_OPERATOR.AND);
return this;
}
@Override
public IBooleanExpression or(IExpression orExpression) {
expressions.put(orExpression, LOGICAL_OPERATOR.OR);
return this;
}
@Override
public String getJPQL(IAliasProvider aliasProvider) {
StringBuilder sb = new StringBuilder();
for (Map.Entry expressionEntry : expressions.entrySet()) {
sb.append(expressionEntry.getValue().toString());
sb.append(" ");
sb.append(expressionEntry.getKey().getJPQL(aliasProvider));
}
return sb.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy