1 /** 2 * Copyright 2005 Steve Molloy 3 * 4 * This file is part of OV4J. 5 * 6 * OV4J is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as 7 * published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 8 * 9 * OV4J is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty 10 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 11 * 12 * You should have received a copy of the GNU General Public License along with OV4J; if not, write to the Free Software 13 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 14 * 15 */ 16 package org.ov4j.comp; 17 18 import java.util.logging.Level; 19 import java.util.logging.Logger; 20 21 /** 22 * Default class for comparing objects, will only call Object.equals() to perform comparison. 23 * 24 * @author smolloy 25 * 26 */ 27 public class DefaultComparisonResult extends ComparisonResult<Object> { 28 /** 29 * Logger for this class 30 */ 31 private static final Logger logger = Logger.getLogger(DefaultComparisonResult.class.getName()); 32 33 /** 34 * @see org.ov4j.comp.ComparisonResult#compute() 35 */ 36 @Override 37 public void compute() { 38 if (DefaultComparisonResult.logger.isLoggable(Level.FINER)) { 39 DefaultComparisonResult.logger.entering("DefaultComparisonResult", "compute()", "start"); 40 } 41 42 if (getOriginal() != null && getChanged() != null && getOriginal().equals(getChanged())) { 43 setPrecision(1.0); 44 setRecall(1.0); 45 } else { 46 setPrecision(0.0); 47 setRecall(0.0); 48 } 49 50 if (DefaultComparisonResult.logger.isLoggable(Level.FINER)) { 51 DefaultComparisonResult.logger.exiting("DefaultComparisonResult", "compute()", "end"); 52 } 53 } 54 55 /** 56 * @see org.ov4j.comp.ComparisonResult#fastCompute() 57 */ 58 @Override 59 public void fastCompute() { 60 if (DefaultComparisonResult.logger.isLoggable(Level.FINER)) { 61 DefaultComparisonResult.logger.entering("DefaultComparisonResult", "fastCompute()", "start"); 62 } 63 64 if (getOriginal() != null && getChanged() != null && getOriginal().equals(getChanged())) { 65 setPrecision(1.0); 66 } else { 67 setPrecision(0.0); 68 } 69 70 if (DefaultComparisonResult.logger.isLoggable(Level.FINER)) { 71 DefaultComparisonResult.logger.exiting("DefaultComparisonResult", "fastCompute()", "end => " 72 + getPrecision()); 73 } 74 } 75 76 }