org.opencms.db.jpa
Class CmsJpaUserQueryBuilder

java.lang.Object
  extended by org.opencms.db.generic.CmsUserQueryBuilder
      extended by org.opencms.db.jpa.CmsJpaUserQueryBuilder

public class CmsJpaUserQueryBuilder
extends CmsUserQueryBuilder

User query builder implementation for JPA.

Since:
8.0.0

Constructor Summary
CmsJpaUserQueryBuilder()
           
 
Method Summary
protected  void addSorting(CmsSelectQuery select, CmsSelectQuery.TableAlias users, CmsUserSearchParameters searchParams)
          Adds a sort order to an SQL query.
protected  String colDateCreated()
          Column name accessor.
protected  String colEmail()
          Column name accessor.
protected  String colFirstName()
          Column name accessor.
protected  String colFlags()
          Column name accessor.
protected  String colGroupUserGroupId()
          Column name accessor.
protected  String colGroupUserUserId()
          Column name accessor.
protected  String colId()
          Column name accessor.
protected  String colLastLogin()
          Column name accessor.
protected  String colLastName()
          Column name accessor.
protected  String colName()
          Column name accessor.
protected  String colOu()
          Column name accessor.
protected  String colPassword()
          Column name accessor.
protected  I_CmsQueryFragment createFlagCondition(CmsSelectQuery.TableAlias users, int flags)
          Creates an SQL flag check condition.
protected  String createSingleFlagCondition(String col, int flag)
          Creates the condition for matching a single flag.
 CmsPair<String,List<Object>> createUserQuery(CmsUserSearchParameters searchParams, boolean countOnly)
          Creates a query for searching users.
protected  String generateConcat(String... expressions)
          Generates an SQL expression for concatenating several other SQL expressions.
protected  String getGroupUserSubqueryColumns()
          Returns the columns that should be returned by user subqueries.
protected  String internalCreateFlagCondition(String col, int flags)
          Helper method for creating a flag condition.
protected  String tabGroups()
          Table name accessor.
protected  String tabGroupUsers()
          Table name accessor.
protected  String tabUsers()
          Table name accessor.
protected  List<Integer> uncompressFlags(int flags)
          Uncompresses an integer used to store flags into its component flags.
 
Methods inherited from class org.opencms.db.generic.CmsUserQueryBuilder
addAllowedOuCondition, addFlagCondition, addGroupCondition, addOrgUnitCondition, addSearchFilterCondition, addWebuserCondition, createCoreCondition, generateTrim, getSortExpression, getUserActivatedExpression, getUserFlagExpression, getUserFullNameExpression, makePaged, shouldNameSubqueries, useWindowFunctionsForPaging, wrapLower
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CmsJpaUserQueryBuilder

public CmsJpaUserQueryBuilder()
Method Detail

createUserQuery

public CmsPair<String,List<Object>> createUserQuery(CmsUserSearchParameters searchParams,
                                                    boolean countOnly)
Creates a query for searching users.

Overrides:
createUserQuery in class CmsUserQueryBuilder
Parameters:
searchParams - the user search criteria
countOnly - if true, the query will only count the total number of results instead of returning them
Returns:
a pair consisting of the query string and its parameters

addSorting

protected void addSorting(CmsSelectQuery select,
                          CmsSelectQuery.TableAlias users,
                          CmsUserSearchParameters searchParams)
Adds a sort order to an SQL query.

Overrides:
addSorting in class CmsUserQueryBuilder
Parameters:
select - the query
users - the user table alias
searchParams - the user search criteria

colDateCreated

protected String colDateCreated()
Description copied from class: CmsUserQueryBuilder
Column name accessor.

Overrides:
colDateCreated in class CmsUserQueryBuilder
Returns:
the name of the column
See Also:
CmsUserQueryBuilder.colDateCreated()

colEmail

protected String colEmail()
Description copied from class: CmsUserQueryBuilder
Column name accessor.

Overrides:
colEmail in class CmsUserQueryBuilder
Returns:
the name of the column
See Also:
CmsUserQueryBuilder.colEmail()

colFirstName

protected String colFirstName()
Description copied from class: CmsUserQueryBuilder
Column name accessor.

Overrides:
colFirstName in class CmsUserQueryBuilder
Returns:
the name of the column
See Also:
CmsUserQueryBuilder.colFirstName()

colFlags

protected String colFlags()
Description copied from class: CmsUserQueryBuilder
Column name accessor.

Overrides:
colFlags in class CmsUserQueryBuilder
Returns:
the name of the column
See Also:
CmsUserQueryBuilder.colFlags()

colGroupUserGroupId

protected String colGroupUserGroupId()
Description copied from class: CmsUserQueryBuilder
Column name accessor.

Overrides:
colGroupUserGroupId in class CmsUserQueryBuilder
Returns:
the name of the column
See Also:
CmsUserQueryBuilder.colGroupUserGroupId()

colGroupUserUserId

protected String colGroupUserUserId()
Description copied from class: CmsUserQueryBuilder
Column name accessor.

Overrides:
colGroupUserUserId in class CmsUserQueryBuilder
Returns:
the name of the column
See Also:
CmsUserQueryBuilder.colGroupUserUserId()

colId

protected String colId()
Description copied from class: CmsUserQueryBuilder
Column name accessor.

Overrides:
colId in class CmsUserQueryBuilder
Returns:
the name of the column
See Also:
CmsUserQueryBuilder.colId()

colLastLogin

protected String colLastLogin()
Description copied from class: CmsUserQueryBuilder
Column name accessor.

Overrides:
colLastLogin in class CmsUserQueryBuilder
Returns:
the name of the column
See Also:
CmsUserQueryBuilder.colLastLogin()

colLastName

protected String colLastName()
Description copied from class: CmsUserQueryBuilder
Column name accessor.

Overrides:
colLastName in class CmsUserQueryBuilder
Returns:
the name of the column
See Also:
CmsUserQueryBuilder.colLastName()

colName

protected String colName()
Description copied from class: CmsUserQueryBuilder
Column name accessor.

Overrides:
colName in class CmsUserQueryBuilder
Returns:
the name of the column
See Also:
CmsUserQueryBuilder.colName()

colOu

protected String colOu()
Description copied from class: CmsUserQueryBuilder
Column name accessor.

Overrides:
colOu in class CmsUserQueryBuilder
Returns:
the name of the column
See Also:
CmsUserQueryBuilder.colOu()

colPassword

protected String colPassword()
Description copied from class: CmsUserQueryBuilder
Column name accessor.

Overrides:
colPassword in class CmsUserQueryBuilder
Returns:
the name of the column
See Also:
CmsUserQueryBuilder.colPassword()

createFlagCondition

protected I_CmsQueryFragment createFlagCondition(CmsSelectQuery.TableAlias users,
                                                 int flags)
Description copied from class: CmsUserQueryBuilder
Creates an SQL flag check condition.

Overrides:
createFlagCondition in class CmsUserQueryBuilder
Parameters:
users - the user table alias
flags - the flags to check
Returns:
the resulting SQL expression
See Also:
CmsUserQueryBuilder.createFlagCondition(org.opencms.db.CmsSelectQuery.TableAlias, int)

createSingleFlagCondition

protected String createSingleFlagCondition(String col,
                                           int flag)
Creates the condition for matching a single flag.

Parameters:
col - the column name
flag - the flag
Returns:
the single flag condition

generateConcat

protected String generateConcat(String... expressions)
Description copied from class: CmsUserQueryBuilder
Generates an SQL expression for concatenating several other SQL expressions.

Overrides:
generateConcat in class CmsUserQueryBuilder
Parameters:
expressions - the expressions to concatenate
Returns:
the concat expression
See Also:
CmsUserQueryBuilder.generateConcat(java.lang.String[])

getGroupUserSubqueryColumns

protected String getGroupUserSubqueryColumns()
Description copied from class: CmsUserQueryBuilder
Returns the columns that should be returned by user subqueries.

Overrides:
getGroupUserSubqueryColumns in class CmsUserQueryBuilder
Returns:
the columns that should be returned by user subqueries
See Also:
CmsUserQueryBuilder.getGroupUserSubqueryColumns()

internalCreateFlagCondition

protected String internalCreateFlagCondition(String col,
                                             int flags)
Helper method for creating a flag condition.

Parameters:
col - the column which contains the flags
flags - the flags to match
Returns:
the flag condition

tabGroups

protected String tabGroups()
Description copied from class: CmsUserQueryBuilder
Table name accessor.

Overrides:
tabGroups in class CmsUserQueryBuilder
Returns:
the name of a table
See Also:
CmsUserQueryBuilder.tabGroups()

tabGroupUsers

protected String tabGroupUsers()
Description copied from class: CmsUserQueryBuilder
Table name accessor.

Overrides:
tabGroupUsers in class CmsUserQueryBuilder
Returns:
the name of a table
See Also:
CmsUserQueryBuilder.tabGroupUsers()

tabUsers

protected String tabUsers()
Description copied from class: CmsUserQueryBuilder
Table name accessor.

Overrides:
tabUsers in class CmsUserQueryBuilder
Returns:
the name of a table
See Also:
CmsUserQueryBuilder.tabUsers()

uncompressFlags

protected List<Integer> uncompressFlags(int flags)
Uncompresses an integer used to store flags into its component flags.

Parameters:
flags - the flags as an integer
Returns:
a list of integers which contain a single flag each