All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.avaje.ebeaninternal.server.el.ElPropertyDeploy Maven / Gradle / Ivy

There is a newer version: 8.1.1
Show newest version
package com.avaje.ebeaninternal.server.el;

import com.avaje.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(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy