yangys
2024-03-28 13ada1093cb8de6e31a718d2222429ded70133c8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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();
    }
}