com.jchanghong.core.lang.caller.Caller Maven / Gradle / Ivy
The newest version!
package com.jchanghong.core.lang.caller;
/**
* 调用者接口
* 可以通过此接口的实现类方法获取调用者、多级调用者以及判断是否被调用
*
* @author Looly
*
*/
public interface Caller {
/**
* 获得调用者
*
* @return 调用者
*/
Class> getCaller();
/**
* 获得调用者的调用者
*
* @return 调用者的调用者
*/
Class> getCallerCaller();
/**
* 获得调用者,指定第几级调用者 调用者层级关系:
*
*
* 0 {@link CallerUtil}
* 1 调用{@link CallerUtil}中方法的类
* 2 调用者的调用者
* ...
*
*
* @param depth 层级。0表示{@link CallerUtil}本身,1表示调用{@link CallerUtil}的类,2表示调用者的调用者,依次类推
* @return 第几级调用者
*/
Class> getCaller(int depth);
/**
* 是否被指定类调用
*
* @param clazz 调用者类
* @return 是否被调用
*/
boolean isCalledBy(Class> clazz);
}