/* * Copyright 2015 JAXIO http://www.jaxio.com * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.jaxio.jpa.querybyexample; /** * Static values to use in conjunction with {@link SearchParameters} object. * It maps the kind of search you can do in SQL. */ public enum SearchMode { /** * Match exactly the properties */ EQUALS("eq"), /** * Activates LIKE search and add a '%' prefix and suffix before searching. */ ANYWHERE("any"), /** * Activate LIKE search and add a '%' prefix before searching. */ STARTING_LIKE("sl"), /** * Activate LIKE search. User provides the wildcard. */ LIKE("li"), /** * Activate LIKE search and add a '%' suffix before searching. */ ENDING_LIKE("el"); private final String code; SearchMode(String code) { this.code = code; } public String getCode() { return code; } public static final SearchMode convert(String code) { for (SearchMode searchMode : SearchMode.values()) { if (searchMode.getCode().equals(code)) { return searchMode; } } return EQUALS; // default } }