io.ebeaninternal.server.el.ElPropertyDeploy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ebean Show documentation
Show all versions of ebean Show documentation
composite of common runtime dependencies for all platforms
package io.ebeaninternal.server.el;
import io.ebeaninternal.server.deploy.BeanProperty;
/**
* Used to parse expressions in queries (where, orderBy etc).
*
* Maps an expression to deployment information such as
* the DB column and elPrefix/elPlaceHolder is used determine
* joins and set place holders for table alias'.
*
*/
public interface ElPropertyDeploy {
/**
* This is the elPrefix for all root level properties.
*/
String ROOT_ELPREFIX = "${}";
/**
* Return true if the property is a formula with a join clause.
*/
boolean containsFormulaWithJoin();
/**
* Return true if there is a property on the path that is a many property.
*/
boolean containsMany();
/**
* Return true if there is a property is on the path after sinceProperty
* that is a 'many' property.
*/
boolean containsManySince(String sinceProperty);
/**
* Return the prefix path of the property.
*
* This is use to determine joins required to support
* this property.
*
*/
String getElPrefix();
/**
* Return the place holder in the form of ${elPrefix}dbColumn.
*
* The ${elPrefix} is replaced by the appropriate table alias.
*
*/
String getElPlaceholder(boolean encrypted);
/**
* Return the name of the property.
*/
String getName();
/**
* The ElPrefix plus name.
*/
String getElName();
/**
* Return the deployment db column for this property.
*/
String getDbColumn();
/**
* Return the underlying bean property.
*/
BeanProperty getBeanProperty();
/**
* Return true if this is an aggregation property.
*/
boolean isAggregation();
/**
* Return the fetch preference. This can be used to control which ToMany relationship
* is left as a 'join' and which get converted to query join.
*/
int getFetchPreference();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy