1 /* 2 * Copyright 2009 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 1.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.opensource.org/licenses/ecl1.php 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package org.kuali.student.r2.common.infc; 18 19 import java.util.List; 20 21 /** 22 * Criteria for a generic query 23 */ 24 25 @Deprecated 26 public interface Comparison { 27 28 /** 29 * Dot path notation to identity the name of field to be compared. 30 * 31 * @name Field Key 32 */ 33 public String getFieldKey(); 34 35 /** 36 * Name: Operator 37 * 38 * Operator to use to compare the field to the value. The valid values are:<ol> 39 * <li>= 40 * <li>in 41 * <li>< 42 * <li>!= 43 * <li>>= 44 * <li><= 45 * <li>like 46 * <li>between 47 * </ol> 48 * The operators should work similar to their corresponding SQL operators. 49 * 50 * Complex objects can only be checked to see if they are null or not null. 51 * "in" operator takes a list of values 52 * "between" operator takes two values for from and thru inclusive 53 * all others take a single value 54 * 55 * TODO: Decide for complex Lists can they be checked to see how many occurences they have? 56 * TODO: Decide on other operators 57 * TODO: Deicde on operators to search collections inside such as any 58 * TODO: Decide how to search on dynamic attributes 59 */ 60 public String getOperator(); 61 62 /** 63 * Values to be compared. 64 * 65 * @name Values 66 */ 67 public List<String> getValues(); 68 69 70 /** 71 * Check if should ignore case when doing the comparison Default 72 * is false. If true then the case of both the specified 73 * comparison value(s) and the data value from the field should be 74 * ignored. 75 * 76 * @name Is Ignore Case 77 */ 78 public Boolean getIsIgnoreCase (); 79 }