2009-01-11 16:23:03 -05:00
|
|
|
|
2014-04-19 02:30:29 -04:00
|
|
|
package net.filebot.similarity;
|
2009-01-11 16:23:03 -05:00
|
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
|
|
|
|
2010-10-24 12:33:38 -04:00
|
|
|
public class FileSizeMetric implements SimilarityMetric {
|
2015-07-25 18:47:19 -04:00
|
|
|
|
2009-01-11 16:23:03 -05:00
|
|
|
@Override
|
|
|
|
public float getSimilarity(Object o1, Object o2) {
|
|
|
|
long l1 = getLength(o1);
|
2011-11-27 09:35:53 -05:00
|
|
|
if (l1 < 0)
|
|
|
|
return 0;
|
2015-07-25 18:47:19 -04:00
|
|
|
|
2011-11-28 01:07:52 -05:00
|
|
|
long l2 = getLength(o2);
|
2011-11-27 09:35:53 -05:00
|
|
|
if (l2 < 0)
|
|
|
|
return 0;
|
2015-07-25 18:47:19 -04:00
|
|
|
|
2011-11-27 09:35:53 -05:00
|
|
|
// objects have the same non-negative length
|
|
|
|
return l1 == l2 ? 1 : -1;
|
2009-01-11 16:23:03 -05:00
|
|
|
}
|
2015-07-25 18:47:19 -04:00
|
|
|
|
2009-01-11 16:23:03 -05:00
|
|
|
|
2011-11-24 12:27:39 -05:00
|
|
|
protected long getLength(Object object) {
|
|
|
|
if (object instanceof File) {
|
|
|
|
return ((File) object).length();
|
2009-01-11 16:23:03 -05:00
|
|
|
}
|
2015-07-25 18:47:19 -04:00
|
|
|
|
2009-01-11 16:23:03 -05:00
|
|
|
return -1;
|
|
|
|
}
|
2015-07-25 18:47:19 -04:00
|
|
|
|
2009-01-11 16:23:03 -05:00
|
|
|
}
|