package com.qianwen.core.excel.extend.processor;
|
|
import java.lang.reflect.Method;
|
import org.springframework.context.expression.MethodBasedEvaluationContext;
|
import org.springframework.core.DefaultParameterNameDiscoverer;
|
import org.springframework.core.ParameterNameDiscoverer;
|
import org.springframework.expression.ExpressionParser;
|
import org.springframework.expression.spel.standard.SpelExpressionParser;
|
|
/* loaded from: blade-starter-excel-9.3.0.0-SNAPSHOT.jar:org/springblade/core/excel/extend/processor/NameSpelExpressionProcessor.class */
|
public class NameSpelExpressionProcessor implements NameProcessor {
|
private static final ParameterNameDiscoverer NAME_DISCOVERER = new DefaultParameterNameDiscoverer();
|
private static final ExpressionParser PARSER = new SpelExpressionParser();
|
|
@Override // org.springblade.core.excel.extend.processor.NameProcessor
|
public String doDetermineName(Object[] args, Method method, String key) {
|
if (!key.contains("#")) {
|
return key;
|
}
|
Object value = PARSER.parseExpression(key).getValue(new MethodBasedEvaluationContext((Object) null, method, args, NAME_DISCOVERER));
|
if (value == null) {
|
return null;
|
}
|
return value.toString();
|
}
|
}
|