io.ebeaninternal.server.deploy.DbSqlContext 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.deploy;
import io.ebeaninternal.server.query.SqlJoinType;
/**
* Used to provide context during sql construction.
*/
public interface DbSqlContext {
/**
* Add a join to the sql query.
*/
void addJoin(String type, String table, TableJoinColumn[] cols, String a1, String a2, String inheritance);
void pushSecondaryTableAlias(String alias);
/**
* Push the current table alias onto the stack.
*/
void pushTableAlias(String tableAlias);
/**
* Pop the current table alias from the stack.
*/
void popTableAlias();
/**
* Add an encrypted property which will require additional binding.
*/
void addEncryptedProp(BeanProperty prop);
/**
* Return a list of encrypted properties which require additional binding.
*/
BeanProperty[] getEncryptedProps();
/**
* Append a char directly to the SQL buffer.
*/
DbSqlContext append(char s);
/**
* Append a string directly to the SQL buffer.
*/
DbSqlContext append(String s);
/**
* Peek the current table alias.
*/
String peekTableAlias();
/**
* Add a raw column to the sql.
*/
void appendRawColumn(String rawcolumnWithTableAlias);
/**
* Append a column with an explicit table alias.
*/
void appendColumn(String tableAlias, String column);
/**
* Append a column with the current table alias.
*/
void appendColumn(String column);
/**
* Append a Sql Formula select. This converts the "${ta}" keyword to the
* current table alias.
*/
void appendFormulaSelect(String sqlFormulaSelect);
/**
* Append a Sql Formula join. This converts the "${ta}" keyword to the current
* table alias.
*/
void appendFormulaJoin(String sqlFormulaJoin, SqlJoinType joinType);
/**
* Return the current content length.
*/
int length();
/**
* Return the current context of the sql context.
*/
String getContent();
/**
* Return the current join node.
*/
String peekJoin();
/**
* Push a join node onto the stack.
*/
void pushJoin(String prefix);
/**
* Pop a join node off the stack.
*/
void popJoin();
/**
* Return a table alias without many where clause joins. Typically this is for
* the select clause (fetch joins).
*/
String getTableAlias(String prefix);
/**
* Return a table alias that takes into account many where joins.
*/
String getTableAliasManyWhere(String prefix);
String getRelativePrefix(String propName);
/**
* Append the lower and upper bound columns into the select clause
* for findVersions() queries.
*/
void appendHistorySysPeriod();
/**
* Return true if the query is a 'asDraft' query.
*/
boolean isDraftQuery();
/**
* Start group by clause.
*/
void startGroupBy();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy