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.

LikeTranslator.java 906B

12345678910111213141516171819202122232425262728
  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.Like;
  7. import com.vaadin.data.util.sqlcontainer.query.generator.StatementHelper;
  8. public class LikeTranslator implements FilterTranslator {
  9. public boolean translatesFilter(Filter filter) {
  10. return filter instanceof Like;
  11. }
  12. public String getWhereStringForFilter(Filter filter, StatementHelper sh) {
  13. Like like = (Like) filter;
  14. if (like.isCaseSensitive()) {
  15. sh.addParameterValue(like.getValue());
  16. return QueryBuilder.quote(like.getPropertyId()) + " LIKE ?";
  17. } else {
  18. sh.addParameterValue(like.getValue().toUpperCase());
  19. return "UPPER(" + QueryBuilder.quote(like.getPropertyId())
  20. + ") LIKE ?";
  21. }
  22. }
  23. }