Spel中的instanceof

时间:2011-10-02 18:43:20

标签: java spring spring-security

我有一个方法的类: 代码:

List<Entity> getData() {...}

以及一些扩展实体的类:项目,阶段,发票,付款。

我想做这样的事情:

@PostFilter("filterObject instanseof Project ? filterObject.manager == principal : filterObject instanceof Phase ? filterObject.project.manager == principal : 
filterObject instanceof Invoice ? filterObject.phase.project == principal : filterObject instanceof Payment ? filterObject.invoice.phase.project.manager == principal : true")

这是合法的吗?或者如何正确使用“instanceof”?

1 个答案:

答案 0 :(得分:9)

SpEL的正确语法类似于filterObject instanceof T(Project)。 (请参阅SpEL section 6.5.6.1 - Relational operators