All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.alibaba.easyretry.extension.spring.SPELResultPredicate Maven / Gradle / Ivy

The newest version!
package com.alibaba.easyretry.extension.spring;

import com.alibaba.easyretry.common.AbstractResultPredicate;

import lombok.Data;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

/**
 * @author Created by wuhao on 2021/3/18.
 */
@Data
public class SPELResultPredicate extends AbstractResultPredicate {

	private String resultCondition;

	public SPELResultPredicate(String resultCondition) {
		this.resultCondition = resultCondition;
	}

	public SPELResultPredicate() {
	}

	@Override
	public Boolean apply(T result) {
		ExpressionParser parser = new SpelExpressionParser();
		StandardEvaluationContext context = new StandardEvaluationContext();
		context.setVariable("result", result);
		return parser.parseExpression(resultCondition).getValue(context, Boolean.class);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy