Spel中的instanceof

Sta*_*lau 3 java spring spring-security

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

List<Entity> getData() {...}
Run Code Online (Sandbox Code Playgroud)

和一些扩展实体的类:项目,阶段,发票,付款.

我想做这样的事情:

@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")
Run Code Online (Sandbox Code Playgroud)

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

jeh*_*eha 9

SpEL的正确语法就像filterObject instanceof T(Project).(请参阅SpEL第6.5.6.1节 - 关系运算符)