Class StackTraceCaller

java.lang.Object
org.miaixz.bus.core.lang.caller.StackTraceCaller
All Implemented Interfaces:
Serializable, Caller

public class StackTraceCaller extends Object implements Caller, Serializable
通过StackTrace方式获取调用者。此方式效率最低,不推荐使用
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • StackTraceCaller

      public StackTraceCaller()
  • Method Details

    • getCaller

      public Class<?> getCaller()
      Description copied from interface: Caller
      获得调用者
      Specified by:
      getCaller in interface Caller
      Returns:
      调用者
    • getCallerCaller

      public Class<?> getCallerCaller()
      Description copied from interface: Caller
      获得调用者的调用者
      Specified by:
      getCallerCaller in interface Caller
      Returns:
      调用者的调用者
    • getCaller

      public Class<?> getCaller(int depth)
      Description copied from interface: Caller
      获得调用者,指定第几级调用者 调用者层级关系:
       0 CallerKit
       1 调用CallerKit中方法的类
       2 调用者的调用者
       ...
       
      Specified by:
      getCaller in interface Caller
      Parameters:
      depth - 层级。0表示CallerKit本身,1表示调用CallerKit的类,2表示调用者的调用者,依次类推
      Returns:
      第几级调用者
    • isCalledBy

      public boolean isCalledBy(Class<?> clazz)
      Description copied from interface: Caller
      是否被指定类调用
      Specified by:
      isCalledBy in interface Caller
      Parameters:
      clazz - 调用者类
      Returns:
      是否被调用