Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

SimpleStringTranslator.java 1.1KB

123456789101112131415161718192021222324252627282930
  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.filter.SimpleStringFilter;
  8. import com.vaadin.data.util.sqlcontainer.query.generator.StatementHelper;
  9. public class SimpleStringTranslator implements FilterTranslator {
  10. @Override
  11. public boolean translatesFilter(Filter filter) {
  12. return filter instanceof SimpleStringFilter;
  13. }
  14. @Override
  15. public String getWhereStringForFilter(Filter filter, StatementHelper sh) {
  16. SimpleStringFilter ssf = (SimpleStringFilter) filter;
  17. // Create a Like filter based on the SimpleStringFilter and execute the
  18. // LikeTranslator
  19. String likeStr = ssf.isOnlyMatchPrefix() ? ssf.getFilterString() + "%"
  20. : "%" + ssf.getFilterString() + "%";
  21. Like like = new Like(ssf.getPropertyId().toString(), likeStr);
  22. like.setCaseSensitive(!ssf.isIgnoreCase());
  23. return new LikeTranslator().getWhereStringForFilter(like, sh);
  24. }
  25. }