Class GenericAPI


  • public class GenericAPI
    extends ASubAPI
    Generic API class for manipulation of entities.

    The class provides methods for the basic CRUD functions (Create, Read, Update, Delete).

    Author:
    XIMA MEDIA GmbH
    • Constructor Detail

      • GenericAPI

        public GenericAPI()
    • Method Detail

      • getAll

        public <T extends ITransferableEntityList<T> getAll​(Class<T> entityClass,
                                                              UserContext uc,
                                                              de.xima.cmn.criteria.QueryCriteriaManager qcm)
        Method for determining all entities of a defined class using a QueryCriteriaManagers.
        Type Parameters:
        T - the type of the entity
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        qcm - QueryCriteriaManager to be filtered by.
        Returns:
        List from ITransferableEntity which were found.
        Since:
        2.4.3
      • getAll

        public <T extends ITransferableEntity,​C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding> List<T> getAll​(Class<T> entityClass,
                                                                                                                                                                                                                                                                                                                     UserContext uc,
                                                                                                                                                                                                                                                                                                                     C cm)
        Method for determining all entities of a defined class using a criteria manager.
        Type Parameters:
        T - the type of the entity
        C - the type of the criteria manager
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        cm - the criteria manager to be filtered by.
        Returns:
        List from ITransferableEntity which were found.
        Since:
        6.2.1
      • create

        public <T extends ITransferableEntity> T[] create​(Class<T> entityClass,
                                                          UserContext uc,
                                                          T[] entities)
        Method for creating multiple entities of a defined class.
        Type Parameters:
        T - the type of the entity
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        entities - Array the entities to create.
        Returns:
        Array of the created entities.
        Since:
        2.4.3
      • delete

        public <T extends ITransferableEntity> boolean delete​(Class<T> entityClass,
                                                              UserContext uc,
                                                              T entity)
        Method for deleting a entity of a defined class.
        Type Parameters:
        T - the type of the entity
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        entity - ITransferableEntity which should be deleted.
        Returns:
        Always true.
        Since:
        2.4.3
      • delete

        public <T extends ITransferableEntity> boolean delete​(Class<T> entityClass,
                                                              UserContext uc,
                                                              T[] entities)
        Method for deleting multiple entities of a defined class.
        Type Parameters:
        T - the type of the entity
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        entities - Array the entities to be deleted.
        Returns:
        Always true.
        Since:
        2.4.3
      • getById

        public <T extends ITransferableEntity> T getById​(UserContext uc,
                                                         String entityClassName,
                                                         String id)
        Method for reading an entity by its class name and ID.
        Type Parameters:
        T - the type of the entity
        Parameters:
        uc - UserContext the user context in which the action is to be performed.
        entityClassName - String the class name of the searched entity.
        id - Integer the ID of the searched entity.
        Returns:
        ITransferableEntity the found entity.
        Since:
        2.4.3
      • getAttributes

        public <R,​T extends ITransferableEntity,​C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding & de.xima.cmn.criteria.interfaces.ISelectableCriteriaManager> List<R> getAttributes​(Class<T> entityClass,
                                                                                                                                                                                                                                                                                                                                                                                                 UserContext uc,
                                                                                                                                                                                                                                                                                                                                                                                                 C cm,
                                                                                                                                                                                                                                                                                                                                                                                                 Class<R> resultClass)
      • getSingleAttributes

        @Deprecated
        public <T extends ITransferableEntity,​C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding & de.xima.cmn.criteria.interfaces.ISelectableCriteriaManager> javax.persistence.Tuple getSingleAttributes​(Class<T> entityClass,
                                                                                                                                                                                                                                                                                                                                                                                                               UserContext uc,
                                                                                                                                                                                                                                                                                                                                                                                                               C cm)
        Deprecated.
        use de.xima.fc.api.entity.GenericAPI.getSingleAttributes(Class, UserContext, IFilterableCriteriaManager, Class)
        This method allows for the selection of certain attributes of an entity instead of reading the entire entity
        Type Parameters:
        T - type of entity
        C - type of the criteria manager
        Parameters:
        entityClass - Class the class of the searched entity
        uc - UserContext which will be used
        cm - A criteria manager object, that contains lists for filtering, sorting and selecting. These lists, if available, are included in the SQL query. This value can be null. The lists contained in the criteria manager can also be null or empty.
        Returns:
        Tuple that contains the values of the selected attributes
        Since:
        6.6.0
      • getSingleAttributes

        public <R,​T extends ITransferableEntity,​C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding & de.xima.cmn.criteria.interfaces.ISelectableCriteriaManager> R getSingleAttributes​(Class<T> entityClass,
                                                                                                                                                                                                                                                                                                                                                                                                 UserContext uc,
                                                                                                                                                                                                                                                                                                                                                                                                 C cm,
                                                                                                                                                                                                                                                                                                                                                                                                 Class<R> resultClass)
        This method allows for the selection of certain attributes of an entity instead of reading the entire entity
        Type Parameters:
        R - type of object, in which the result values will be placed
        T - type of entity
        C - type of the criteria manager
        Parameters:
        entityClass - Class the class of the searched entity
        uc - UserContext which will be used
        cm - A criteria manager object, that contains lists for filtering, sorting and selecting. These lists, if available, are included in the SQL query. This value can be null. The lists contained in the criteria manager can also be null or empty.
        resultClass - Class of the object, in which the result value will be placed
        Returns:
        A result that contains the values of the selected attributes
        Since:
        6.6.0
      • getEntityRefs

        public <R,​T extends ITransferableEntitySet<R> getEntityRefs​(Class<T> entityClass,
                                                                            UserContext uc,
                                                                            T entity)
        Returns a set of entities that reference the given entity and depend on it. An entity can usually not be deleted if it is still being referenced by and depended on by other entities.
        Type Parameters:
        R - type of the entities that are referencing the given entity.
        T - type of the entity that is being referenced.
        Parameters:
        entityClass - the class of the entity that is being referenced.
        uc - user context for database transactions.
        entity - being referenced.
        Returns:
        a set of entities that reference the given entity.
        Throws:
        ClassCastException - if a referencing entity is not of type R.
        Since:
        8.0.0
      • resultTotalCount

        public <T extends ITransferableEntity> int resultTotalCount​(Class<T> entityClass,
                                                                    UserContext uc,
                                                                    de.xima.cmn.criteria.QueryCriteriaManager qcm)
        Method for determining the number of found entities based on their class.
        Type Parameters:
        T - the type of the entity
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        qcm - QueryCriteriaManager to be searched by.
        Returns:
        Integer the found number of elements QueryCriteriaManagers.
        Since:
        2.4.3
      • resultTotalCount

        public <T extends ITransferableEntity,​C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding> int resultTotalCount​(Class<T> entityClass,
                                                                                                                                                                                                     UserContext uc,
                                                                                                                                                                                                     C cm)
        Method for determining the number of found entities based on their class.
        Type Parameters:
        T - the type of the entity
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        cm - the criteria manager to be searched by.
        Returns:
        Integer the found number of elements.
        Since:
        6.2.1
      • update

        public <T extends ITransferableEntity> T[] update​(Class<T> entityClass,
                                                          UserContext uc,
                                                          T[] entities)
        Method for updating multiple entities of a defined class.
        Type Parameters:
        T - the type of the entity
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        entities - Array the entities to be updated.
        Returns:
        Array the updated entities.
        Since:
        2.4.3
      • getBy

        public <T extends ITransferableEntity> T getBy​(Class<T> entityClass,
                                                       UserContext uc,
                                                       de.xima.cmn.criteria.QueryCriteriaManager qcm)
        Method for determining an entity using a QueryCriteriaManager.
        Type Parameters:
        T - the type of the entity
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        qcm - the QueryCriteriaManager to be searched by.
        Returns:
        the found entity.
        Since:
        2.4.3
      • getBy

        public <T extends ITransferableEntity,​C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding> T getBy​(Class<T> entityClass,
                                                                                                                                                                                                                                                                                                              UserContext uc,
                                                                                                                                                                                                                                                                                                              C cm)
        Method for determining an entity using a QueryCriteriaManager.
        Type Parameters:
        T - the type of the entity
        C - the type of the criteria manager
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        cm - the criteria manager to be searched by.
        Returns:
        the found entity.
        Since:
        6.2.1
      • deleteAllBy

        public <T extends ITransferableEntityBoolean deleteAllBy​(Class<T> entityClass,
                                                                   UserContext uc,
                                                                   de.xima.cmn.criteria.QueryCriteriaManager qcm)
        Method for deleting multiple entities of a defined class by ID. * @param the type of the entity
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        qcm - QueryCriteriaManager to be searched by.
        Returns:
        Boolean whether the deletion was successful or not.
        Since:
        2.4.3
      • deleteAllBy

        public <T extends ITransferableEntity,​C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.ISortableCriteriaManager & de.xima.cmn.criteria.interfaces.IPageableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding> Boolean deleteAllBy​(Class<T> entityClass,
                                                                                                                                                                                                                                                                                                                          UserContext uc,
                                                                                                                                                                                                                                                                                                                          C cm)
        Method for deleting multiple entities of a defined class by ID.
        Type Parameters:
        T - the type of the entity
        C - the type of the criteria manager
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        cm - the criteria manager to be searched by.
        Returns:
        Always true.
        Since:
        6.2.1
      • deleteById

        public <T extends ITransferableEntityBoolean deleteById​(Class<T> entityClass,
                                                                  UserContext uc,
                                                                  Long id)
        Method for deleting a entity of a defined class by ID.
        Type Parameters:
        T - the type of the entity
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        id - Long the ID of the searched entity.
        Returns:
        Always true.
        Since:
        2.4.3
      • getAll

        public <T extends ITransferableEntityList<T> getAll​(Class<T> entityClass,
                                                              UserContext uc)
        Method for determining all entities.
        Type Parameters:
        T - the type of the entity
        Parameters:
        entityClass - ITransferableEntity class of the entity.
        uc - UserContext the user context in which the action is to be performed.
        Returns:
        List of the found entities.
        Since:
        2.4.3