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 two objects are equal.
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 Equal implements FilterPredicate
022    {
023        public boolean compute(Object caseObject, Object queryObject) throws NoApplicableFilterPredicateException
024        {
025            if((caseObject == null)&&(queryObject==null))
026                return true;
027            else if(caseObject == null)
028                return false;
029            else if(queryObject == null)
030                return true;
031            else 
032                return caseObject.equals(queryObject);
033        }
034    
035    }