diff --git a/src/main/java/io/ebean/plugin/ExpressionPath.java b/src/main/java/io/ebean/plugin/ExpressionPath.java index 9b6e27cf0..a1ab051f3 100644 --- a/src/main/java/io/ebean/plugin/ExpressionPath.java +++ b/src/main/java/io/ebean/plugin/ExpressionPath.java @@ -73,4 +73,14 @@ public interface ExpressionPath { * Return the Id values for the given bean value. */ Object[] getAssocIdValues(EntityBean bean); + + /** + * Return the underlying bean property. + */ + public Property getProperty(); + + /** + * The ElPrefix plus name. + */ + String getElName(); } diff --git a/src/main/java/io/ebeaninternal/server/deploy/BeanFkeyProperty.java b/src/main/java/io/ebeaninternal/server/deploy/BeanFkeyProperty.java index a6908d315..fe184c287 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/BeanFkeyProperty.java +++ b/src/main/java/io/ebeaninternal/server/deploy/BeanFkeyProperty.java @@ -1,6 +1,7 @@ package io.ebeaninternal.server.deploy; import io.ebean.bean.EntityBean; +import io.ebean.plugin.Property; import io.ebean.text.StringParser; import io.ebeaninternal.api.SpiExpressionRequest; import io.ebeaninternal.server.el.ElPropertyValue; @@ -226,4 +227,9 @@ public final class BeanFkeyProperty implements ElPropertyValue { throw new RuntimeException("ElPropertyDeploy only - not implemented"); } + @Override + public Property getProperty() { + throw new RuntimeException("ElPropertyDeploy only - not implemented"); + } + } diff --git a/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java b/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java index 231f48357..6641c158f 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java +++ b/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java @@ -676,6 +676,11 @@ public class BeanProperty implements ElPropertyValue, Property, STreeProperty { return this; } + @Override + public Property getProperty() { + return this; + } + /** * Return true if this object is part of an inheritance hierarchy. */ diff --git a/src/main/java/io/ebeaninternal/server/el/ElPropertyChain.java b/src/main/java/io/ebeaninternal/server/el/ElPropertyChain.java index c5a91e896..a51679b93 100644 --- a/src/main/java/io/ebeaninternal/server/el/ElPropertyChain.java +++ b/src/main/java/io/ebeaninternal/server/el/ElPropertyChain.java @@ -1,6 +1,7 @@ package io.ebeaninternal.server.el; import io.ebean.bean.EntityBean; +import io.ebean.plugin.Property; import io.ebean.text.StringParser; import io.ebean.util.StringHelper; import io.ebeaninternal.api.SpiExpressionRequest; @@ -211,6 +212,11 @@ public class ElPropertyChain implements ElPropertyValue { return lastElPropertyValue.isAssocMany(); } + @Override + public Property getProperty() { + return lastBeanProperty; + } + @Override public boolean isAssocId() { return assocId;