1 package jp.sourceforge.stigmata.birthmarks.smc;
3 import jp.sourceforge.stigmata.BirthmarkComparator;
4 import jp.sourceforge.stigmata.BirthmarkElement;
5 import jp.sourceforge.stigmata.BirthmarkExtractor;
6 import jp.sourceforge.stigmata.birthmarks.AbstractBirthmarkService;
7 import jp.sourceforge.stigmata.birthmarks.comparators.PlainBirthmarkComparator;
8 import jp.sourceforge.stigmata.spi.BirthmarkSpi;
14 * @author Haruaki TAMADA
16 public class SequentialMethodCallBirthmarkService extends AbstractBirthmarkService implements BirthmarkSpi{
17 private BirthmarkComparator comparator = new PlainBirthmarkComparator(this);
18 private BirthmarkExtractor extractor = new SequentialMethodCallBirthmarkExtractor(this);
21 public String getType(){
26 public String getDefaultDescription(){
27 return "Sequence of method call which order is appeared in method definition.";
31 public BirthmarkExtractor getExtractor(){
36 public BirthmarkComparator getComparator(){
41 public boolean isExperimental(){
46 public boolean isUserDefined(){
51 public BirthmarkElement buildBirthmarkElement(String value) {
52 String className = value.substring(0, value.indexOf('#'));
53 String methodName = value.substring(value.indexOf('#') + 1, value.lastIndexOf('!'));
54 String signature = value.substring(value.lastIndexOf('!') + 1);
56 return new MethodCallBirthmarkElement(className, methodName, signature);