Package com.emc.documentum.rest.dfc.query

# Interface QueryEngine

public interface QueryEngine
The query engine to execute a DQL query and return as a list of `PersistentObject`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `<T extends PersistentObject>
  List<T>`
  `execute(Class<T> targetClass, String dql, QueryType queryType, int offset, int limit)`
  Execute the DQL query with offset and limit count.
  `List<PersistentObject>`
  `execute(String dql, QueryType queryType)`
  Execute the DQL query.
  `List<PersistentObject>`
  `execute(String dql, QueryType queryType, int offset, int limit)`
  Execute the DQL query with offset and limit count.
  `boolean`
  `isUserPartOfDQLResourceAllowedGroups()`
  Checks whether a user is part of allowed groups where the users are having privileges to execute DQL.
  `boolean`
  `isUserWithSuperOrAdminPrivileges()`
  Checks whether a user has admin or super user privileges.

- ## Method Details

  - ### execute

    List<PersistentObject> execute(String dql, QueryType queryType) throws com.documentum.fc.common.DfException
    Execute the DQL query.
    Parameters:
      `dql` - the DQL expression
      `queryType` - te query type
    Returns:
      the query results
    Throws:
      `com.documentum.fc.common.DfException` - the exception during the operation

  - ### execute

    List<PersistentObject> execute(String dql, QueryType queryType, int offset, int limit) throws com.documentum.fc.common.DfException
    Execute the DQL query with offset and limit count.
    Parameters:
      `dql` - the DQL expression
      `queryType` - te query type
      `offset` - the offset of the query results
      `limit` - the limit count of query results to be returned
    Returns:
      the query results
    Throws:
      `com.documentum.fc.common.DfException` - the exception during the operation

  - ### execute

    <T extends PersistentObject> List<T> execute(Class<T> targetClass, String dql, QueryType queryType, int offset, int limit) throws com.documentum.fc.common.DfException
    Execute the DQL query with offset and limit count.
    Type Parameters:
      `T` - the PersistentObject or its subclass
    Parameters:
      `targetClass` - the output query result item instance type
      `dql` - the DQL expression
      `queryType` - te query type
      `offset` - the offset of the query results
      `limit` - the limit count of query results to be returned
    Returns:
      the query results
    Throws:
      `com.documentum.fc.common.DfException` - the exception during the operation

  - ### isUserWithSuperOrAdminPrivileges

    boolean isUserWithSuperOrAdminPrivileges() throws com.documentum.fc.common.DfException
    Checks whether a user has admin or super user privileges.
    Returns:
      returns whether a user is having super or admin privileges
    Throws:
      `com.documentum.fc.common.DfException`

  - ### isUserPartOfDQLResourceAllowedGroups

    boolean isUserPartOfDQLResourceAllowedGroups() throws com.documentum.fc.common.DfException
    Checks whether a user is part of allowed groups where the users are having privileges to execute DQL.
    Returns:
      returns whether a user is part of allowed groups are not.
    Throws:
      `com.documentum.fc.common.DfException`