หน้าเว็บ

วันศุกร์ที่ 21 กุมภาพันธ์ พ.ศ. 2557

detect call method java

เป็นการแสดงว่า code ผ่าน method อะไรมาบาง ก่อนจะมาถึง method สุดท้าย

พอดี มีรุ่นน้องมาถามผมเรื่องการ detect method เพื่อเอาไปวาด sequence diagram น่ะครับ  ก็เลยลองหา solution detect method ดู  จากนั้น  ค่อยนำไปต่อยอดกับ https://www.websequencediagrams.com/



ClassC.java
package com.blogspot.na5cent.learning.callmethod;

/**
 *
 * @author redcrow
 */
public class ClassC {

    public void c1() {
        StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
        for (StackTraceElement element : stackTraceElements) {
            System.out.print(element.getFileName().replace(".java", "") + "." + element.getMethodName() + " --> ");
        }
    }

    public void c2() {
        c1();
    }
}
ClassB.java
package com.blogspot.na5cent.learning.callmethod;

/**
 *
 * @author redcrow
 */
public class ClassB {

    public void b1() {
        new ClassC().c2();
    }

    public void b2() {
        b1();
    }
}
ClassA.java
package com.blogspot.na5cent.learning.callmethod;

/**
 *
 * @author redcrow
 */
public class ClassA {

    public static void main(String[] args) {
        new ClassA().a3();
    }

    public void a1() {
        new ClassB().b2();
    }

    public void a2() {
        a1();
    }

    public void a3() {
        a2();
    }
}
จากนั้น run ClassA


ไม่มีความคิดเห็น:

แสดงความคิดเห็น