OSDN Git Service

必要のないクラスを削除し,クラスの整理を行った.
[stigmata/stigmata.git] / src / main / java / jp / sourceforge / stigmata / birthmarks / smc / SequentialMethodCallBirthmarkExtractor.java
index 6a3b26e..b21bdc4 100644 (file)
@@ -1,24 +1,20 @@
 package jp.sourceforge.stigmata.birthmarks.smc;
 
-/*
- * $Id$
- */
-
 import jp.sourceforge.stigmata.Birthmark;
 import jp.sourceforge.stigmata.BirthmarkContext;
+import jp.sourceforge.stigmata.BirthmarkElement;
 import jp.sourceforge.stigmata.ExtractionUnit;
 import jp.sourceforge.stigmata.birthmarks.ASMBirthmarkExtractor;
 import jp.sourceforge.stigmata.birthmarks.BirthmarkExtractVisitor;
-import jp.sourceforge.stigmata.spi.BirthmarkSpi;
+import jp.sourceforge.stigmata.spi.BirthmarkService;
 
 import org.objectweb.asm.ClassWriter;
 
 /**
  * @author Haruaki TAMADA
- * @version $Revision$ 
  */
 public class SequentialMethodCallBirthmarkExtractor extends ASMBirthmarkExtractor{
-    public SequentialMethodCallBirthmarkExtractor(BirthmarkSpi spi){
+    public SequentialMethodCallBirthmarkExtractor(BirthmarkService spi){
         super(spi);
     }
 
@@ -35,4 +31,13 @@ public class SequentialMethodCallBirthmarkExtractor extends ASMBirthmarkExtracto
     public ExtractionUnit[] getAcceptableUnits(){
         return new ExtractionUnit[] { ExtractionUnit.CLASS, ExtractionUnit.ARCHIVE, ExtractionUnit.PACKAGE, };
     }
+
+    @Override
+    public BirthmarkElement buildElement(String value) {
+        String className = value.substring(0, value.indexOf('#'));
+        String methodName = value.substring(value.indexOf('#') + 1, value.lastIndexOf('!'));
+        String signature = value.substring(value.lastIndexOf('!') + 1);
+
+        return new MethodCallBirthmarkElement(className, methodName, signature);
+    }
 }