001 /** 002 * Equal.java 003 * jCOLIBRI2 framework. 004 * @author Juan A. Recio-García. 005 * GAIA - Group for Artificial Intelligence Applications 006 * http://gaia.fdi.ucm.es 007 * 28/10/2007 008 */ 009 package jcolibri.method.retrieve.FilterBasedRetrieval.predicates; 010 011 import jcolibri.exception.NoApplicableFilterPredicateException; 012 013 /** 014 * Predicate that compares if the case object is equal to a fixed value. 015 * @author Juan A. Recio-Garcia 016 * @author Developed at University College Cork (Ireland) in collaboration with Derek Bridge. 017 * @version 1.0 018 * @see jcolibri.method.retrieve.FilterBasedRetrieval.FilterBasedRetrievalMethod 019 * @see jcolibri.method.retrieve.FilterBasedRetrieval.FilterConfig 020 */ 021 public class EqualTo implements FilterPredicate 022 { 023 private Object fqo; 024 public EqualTo(Object fixedQueryObject) 025 { 026 fqo = fixedQueryObject; 027 } 028 029 public boolean compute(Object caseObject, Object queryObject) throws NoApplicableFilterPredicateException 030 { 031 if((caseObject == null)&&(fqo==null)) 032 return true; 033 else if(caseObject == null) 034 return false; 035 else if(fqo == null) 036 return true; 037 else 038 return caseObject.equals(fqo); 039 } 040 041 }