You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CompareTranslator.java 1.0KB

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. @VaadinApache2LicenseForJavaFiles@
  3. */
  4. package com.vaadin.data.util.sqlcontainer.query.generator.filter;
  5. import com.vaadin.data.Container.Filter;
  6. import com.vaadin.data.util.filter.Compare;
  7. import com.vaadin.data.util.sqlcontainer.query.generator.StatementHelper;
  8. public class CompareTranslator implements FilterTranslator {
  9. public boolean translatesFilter(Filter filter) {
  10. return filter instanceof Compare;
  11. }
  12. public String getWhereStringForFilter(Filter filter, StatementHelper sh) {
  13. Compare compare = (Compare) filter;
  14. sh.addParameterValue(compare.getValue());
  15. String prop = QueryBuilder.quote(compare.getPropertyId());
  16. switch (compare.getOperation()) {
  17. case EQUAL:
  18. return prop + " = ?";
  19. case GREATER:
  20. return prop + " > ?";
  21. case GREATER_OR_EQUAL:
  22. return prop + " >= ?";
  23. case LESS:
  24. return prop + " < ?";
  25. case LESS_OR_EQUAL:
  26. return prop + " <= ?";
  27. default:
  28. return "";
  29. }
  30. }
  31. }