Spring Spel支持以下TokenKind元素集。
package org.springframework.expression.spel.standard;
/**
* @author Andy Clement
* @since 3.0
*/
enum TokenKind {
// ordered by priority - operands first
LITERAL_INT, LITERAL_LONG, LITERAL_HEXINT, LITERAL_HEXLONG, LITERAL_STRING, LITERAL_REAL, LITERAL_REAL_FLOAT,
LPAREN("("), RPAREN(")"), COMMA(","), IDENTIFIER,
COLON(":"),HASH("#"),RSQUARE("]"), LSQUARE("["),
LCURLY("{"),RCURLY("}"),
DOT("."), PLUS("+"), STAR("*"), MINUS("-"), SELECT_FIRST("^["), SELECT_LAST("$["), QMARK("?"), PROJECT("!["),
DIV("/"), GE(">="), GT(">"), LE("<="), LT("<"), EQ("=="), NE("!="),
MOD("%"), NOT("!"), ASSIGN("="), INSTANCEOF("instanceof"), MATCHES("matches"), BETWEEN("between"),
SELECT("?["), POWER("^"),
ELVIS("?:"), SAFE_NAVI("?."), BEAN_REF("@")
;
我想知道我们是否可以声明一个新的TokenKind值和自定义对象来处理评估,该对象可以插入到现有的Spel框架中?
答案 0 :(得分:1)
如果您想要引入一个新的TokenKind
,如果提供的只是描述SpEL DSL并播放语言标记,那么您会感兴趣。
我想知道为什么自定义propertyAccessor
,operatorOverloader
或function
对您来说还不够......
看看StandardEvaluationContext
并试着找出,为什么那些高级别的钩子无法帮助你。