2 * Copyright 2000-2021 Vaadin Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 * use this file except in compliance with the License. You may obtain a copy of
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 * License for the specific language governing permissions and limitations under
16 package com.vaadin.v7.data.util.sqlcontainer.query.generator.filter;
18 import com.vaadin.v7.data.Container.Filter;
19 import com.vaadin.v7.data.util.filter.Like;
20 import com.vaadin.v7.data.util.filter.SimpleStringFilter;
21 import com.vaadin.v7.data.util.sqlcontainer.query.generator.StatementHelper;
24 * @deprecated As of 8.0, no replacement available.
27 public class SimpleStringTranslator implements FilterTranslator {
30 public boolean translatesFilter(Filter filter) {
31 return filter instanceof SimpleStringFilter;
35 public String getWhereStringForFilter(Filter filter, StatementHelper sh) {
36 SimpleStringFilter ssf = (SimpleStringFilter) filter;
37 // Create a Like filter based on the SimpleStringFilter and execute the
39 String likeStr = ssf.isOnlyMatchPrefix() ? ssf.getFilterString() + "%"
40 : "%" + ssf.getFilterString() + "%";
41 Like like = new Like(ssf.getPropertyId().toString(), likeStr);
42 like.setCaseSensitive(!ssf.isIgnoreCase());
43 return new LikeTranslator().getWhereStringForFilter(like, sh);