当前位置: 首页>>代码示例>>Java>>正文


Java StandardEvaluationContext.addMethodResolver方法代码示例

本文整理汇总了Java中org.springframework.expression.spel.support.StandardEvaluationContext.addMethodResolver方法的典型用法代码示例。如果您正苦于以下问题:Java StandardEvaluationContext.addMethodResolver方法的具体用法?Java StandardEvaluationContext.addMethodResolver怎么用?Java StandardEvaluationContext.addMethodResolver使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.springframework.expression.spel.support.StandardEvaluationContext的用法示例。


在下文中一共展示了StandardEvaluationContext.addMethodResolver方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testAddingMethodResolvers

import org.springframework.expression.spel.support.StandardEvaluationContext; //导入方法依赖的package包/类
@Test
public void testAddingMethodResolvers() {
	StandardEvaluationContext ctx = new StandardEvaluationContext();

	// reflective method accessor is the only one by default
	List<MethodResolver> methodResolvers = ctx.getMethodResolvers();
	assertEquals(1, methodResolvers.size());

	MethodResolver dummy = new DummyMethodResolver();
	ctx.addMethodResolver(dummy);
	assertEquals(2, ctx.getMethodResolvers().size());

	List<MethodResolver> copy = new ArrayList<MethodResolver>();
	copy.addAll(ctx.getMethodResolvers());
	assertTrue(ctx.removeMethodResolver(dummy));
	assertFalse(ctx.removeMethodResolver(dummy));
	assertEquals(1, ctx.getMethodResolvers().size());

	ctx.setMethodResolvers(copy);
	assertEquals(2, ctx.getMethodResolvers().size());
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:22,代码来源:MethodInvocationTests.java

示例2: testScenario04_ControllingWhichMethodsRun

import org.springframework.expression.spel.support.StandardEvaluationContext; //导入方法依赖的package包/类
@Test
	public void testScenario04_ControllingWhichMethodsRun() throws Exception {
		SpelExpressionParser parser = new SpelExpressionParser();
		StandardEvaluationContext ctx = new StandardEvaluationContext();

		ctx.setRootObject(new Supervisor("Ben")); // so non-qualified references 'hasRole()' 'hasIpAddress()' are invoked against it);

		ctx.addMethodResolver(new MyMethodResolver()); // NEEDS TO OVERRIDE THE REFLECTION ONE - SHOW REORDERING MECHANISM
		// Might be better with a as a variable although it would work as a property too...
		// Variable references using a '#'
//		SpelExpression expr = parser.parseExpression("(hasRole('SUPERVISOR') or (#a <  1.042)) and hasIpAddress('10.10.0.0/16')");
		Expression expr = parser.parseRaw("(hasRole(3) or (#a <  1.042)) and hasIpAddress('10.10.0.0/16')");

		Boolean value = null;

		ctx.setVariable("a",1.0d); // referenced as #a in the expression
		value = expr.getValue(ctx,Boolean.class);
		assertTrue(value);

//			ctx.setRootObject(new Manager("Luke"));
//			ctx.setVariable("a",1.043d);
//			value = (Boolean)expr.getValue(ctx,Boolean.class);
//			assertFalse(value);
	}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:25,代码来源:ScenariosForSpringSecurity.java

示例3: createEvaluationContext

import org.springframework.expression.spel.support.StandardEvaluationContext; //导入方法依赖的package包/类
private StandardEvaluationContext createEvaluationContext(Context aContext) {
  StandardEvaluationContext context = new StandardEvaluationContext(aContext);
  context.addPropertyAccessor(new MapPropertyAccessor());
  context.addMethodResolver(methodResolver());
  return context;
}
 
开发者ID:creactiviti,项目名称:piper,代码行数:7,代码来源:SpelTaskEvaluator.java


注:本文中的org.springframework.expression.spel.support.StandardEvaluationContext.addMethodResolver方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。