mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
remove SecurityManagerCaller
This commit is contained in:
@@ -97,18 +97,7 @@ public class CallerUtil {
|
||||
* @return {@link Caller}实现
|
||||
*/
|
||||
private static Caller tryCreateCaller() {
|
||||
Caller caller;
|
||||
try {
|
||||
caller = new SecurityManagerCaller();
|
||||
if(null != caller.getCaller() && null != caller.getCallerCaller()) {
|
||||
return caller;
|
||||
}
|
||||
} catch (final Throwable e) {
|
||||
//ignore
|
||||
}
|
||||
|
||||
caller = new StackTraceCaller();
|
||||
return caller;
|
||||
return new StackTraceCaller();
|
||||
}
|
||||
// ---------------------------------------------------------------------------------------------- static interface and class
|
||||
}
|
||||
|
@@ -1,72 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2025 Hutool Team and hutool.cn
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package cn.hutool.v7.core.lang.caller;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import cn.hutool.v7.core.array.ArrayUtil;
|
||||
|
||||
/**
|
||||
* {@link SecurityManager} 方式获取调用者
|
||||
*
|
||||
* @author Looly
|
||||
*/
|
||||
public class SecurityManagerCaller extends SecurityManager implements Caller, Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private static final int OFFSET = 1;
|
||||
|
||||
@Override
|
||||
public Class<?> getCaller() {
|
||||
final Class<?>[] context = getClassContext();
|
||||
if (null != context && (OFFSET + 1) < context.length) {
|
||||
return context[OFFSET + 1];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?> getCallerCaller() {
|
||||
final Class<?>[] context = getClassContext();
|
||||
if (null != context && (OFFSET + 2) < context.length) {
|
||||
return context[OFFSET + 2];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?> getCaller(final int depth) {
|
||||
final Class<?>[] context = getClassContext();
|
||||
if (null != context && (OFFSET + depth) < context.length) {
|
||||
return context[OFFSET + depth];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCalledBy(final Class<?> clazz) {
|
||||
final Class<?>[] classes = getClassContext();
|
||||
if(ArrayUtil.isNotEmpty(classes)) {
|
||||
for (final Class<?> contextClass : classes) {
|
||||
if (contextClass.equals(clazz)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user