/** * Copyright 2010-2016 Ralph Schaer <ralphschaer@gmail.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 ch.ralscha.extdirectspring.filter; import java.util.Collections; import java.util.HashSet; import java.util.Set; public enum Comparison { LESS_THAN("lt", "<"), LESS_THAN_OR_EQUAL("lte", "<="), GREATER_THAN("gt", ">"), GREATER_THAN_OR_EQUAL("gte", ">="), EQUAL("eq", "="), NOT_EQUAL("ne", "!="), LIKE("like"), IN("in"); private final Set<String> externalValues; private Comparison(String... values) { this.externalValues = new HashSet<String>(); Collections.addAll(this.externalValues, values); } public boolean is(String externalValue) { return this.externalValues.contains(externalValue); } public static Comparison fromString(String externalValue) { if (externalValue != null) { final String externalValueLowerCase = externalValue.toLowerCase(); for (Comparison comparison : Comparison.values()) { if (comparison.is(externalValueLowerCase)) { return comparison; } } } return null; } }