1 package jp.sourceforge.stigmata.birthmarks.smc;
7 import jp.sourceforge.stigmata.BirthmarkComparator;
8 import jp.sourceforge.stigmata.BirthmarkElement;
9 import jp.sourceforge.stigmata.BirthmarkExtractor;
10 import jp.sourceforge.stigmata.birthmarks.AbstractBirthmarkService;
11 import jp.sourceforge.stigmata.birthmarks.comparators.PlainBirthmarkComparator;
12 import jp.sourceforge.stigmata.spi.BirthmarkSpi;
18 * @author Haruaki TAMADA
21 public class SequentialMethodCallBirthmarkService extends AbstractBirthmarkService implements BirthmarkSpi{
22 private BirthmarkComparator comparator = new PlainBirthmarkComparator(this);
23 private BirthmarkExtractor extractor = new SequentialMethodCallBirthmarkExtractor(this);
25 public String getType(){
29 public String getDefaultDescription(){
30 return "Sequence of method call which order is appeared in method definition.";
33 public BirthmarkExtractor getExtractor(){
37 public BirthmarkComparator getComparator(){
41 public boolean isExperimental(){
45 public boolean isUserDefined(){
50 public BirthmarkElement buildBirthmarkElement(String value) {
51 String className = value.substring(0, value.indexOf('#'));
52 String methodName = value.substring(value.indexOf('#') + 1, value.lastIndexOf('!'));
53 String signature = value.substring(value.lastIndexOf('!') + 1);
55 return new MethodCallBirthmarkElement(className, methodName, signature);