OSDN Git Service

80a8b6e670d30be2f4a1de1fb611df647086fe0a
[stigmata/stigmata.git] / src / main / java / jp / sourceforge / stigmata / birthmarks / comparators / AbstractBirthmarkComparator.java
1 package jp.sourceforge.stigmata.birthmarks.comparators;
2
3 import jp.sourceforge.stigmata.Birthmark;
4 import jp.sourceforge.stigmata.BirthmarkComparator;
5 import jp.sourceforge.stigmata.BirthmarkContext;
6 import jp.sourceforge.stigmata.spi.BirthmarkSpi;
7
8 /**
9  * abstract birthmark comparator.
10  *
11  * @author Haruaki Tamada
12  */
13 public abstract class AbstractBirthmarkComparator implements BirthmarkComparator{
14     private BirthmarkSpi spi;
15
16     @Deprecated
17     public AbstractBirthmarkComparator(){
18     }
19
20     public AbstractBirthmarkComparator(BirthmarkSpi spi){
21         this.spi = spi;
22     }
23
24     public BirthmarkSpi getProvider(){
25         return spi;
26     }
27
28     @Override
29     public String getType(){
30         return spi.getType();
31     }
32
33     @Override
34     public abstract double compare(Birthmark b1, Birthmark b2, BirthmarkContext context);
35
36     @Override
37     public int getCompareCount(Birthmark b1, Birthmark b2){
38         return b1.getElementCount() + b2.getElementCount();
39     }
40 }