com.avaje.ebeaninternal.server.el.ElPropertyValue Maven / Gradle / Ivy
package com.avaje.ebeaninternal.server.el;
import com.avaje.ebean.plugin.ExpressionPath;
import com.avaje.ebeaninternal.api.SpiExpressionRequest;
/**
* The expression language object that can get values.
*
* This can be used for local sorting and filtering.
*
*/
public interface ElPropertyValue extends ElPropertyDeploy, ExpressionPath {
/**
* Return the logical id value expression taking into account embedded id's.
*/
String getAssocIdInValueExpr(int size);
/**
* Return the logical id in expression taking into account embedded id's.
*/
String getAssocIdInExpr(String prefix);
/**
* Return the logical where clause to support "Is empty".
*/
String getAssocIsEmpty(SpiExpressionRequest request, String path);
/**
* Return true if this is an ManyToOne or OneToOne associated bean property.
*/
boolean isAssocId();
/**
* Return true if the property is a OneToMany or ManyToMany associated bean property.
*/
boolean isAssocMany();
/**
* Return true if any path of this path contains a Associated One or Many.
*/
boolean isAssocProperty();
/**
* Return true if the property is encrypted via Java.
*/
boolean isLocalEncrypted();
/**
* Return true if the property is encrypted in the DB.
*/
boolean isDbEncrypted();
/**
* Return the value ensuring objects prior to the top scalar property are
* automatically populated.
*/
Object pathGetNested(Object bean);
}