Class ValidatorBibernateSession

java.lang.Object
io.github.blyznytsiaorg.bibernate.session.ValidatorBibernateSession
All Implemented Interfaces:
BibernateSession, Closeable, AutoCloseable

public class ValidatorBibernateSession extends Object implements BibernateSession
Wrapper class that provides validation functionality for a Bibernate session. It delegates method calls to an underlying Bibernate session while performing validation checks.
Since:
1.0
Author:
Blyzhnytsia Team
  • Field Details Link icon

  • Constructor Details Link icon

    • ValidatorBibernateSession Link icon

      public ValidatorBibernateSession()
  • Method Details Link icon

    • findById Link icon

      public <T> Optional<T> findById(Class<T> entityClass, Object primaryKey)
      Description copied from interface: BibernateSession
      Finds an entity by its primary key.
      Specified by:
      findById in interface BibernateSession
      Type Parameters:
      T - the type of the entity
      Parameters:
      entityClass - the class of the entity
      primaryKey - the primary key of the entity
      Returns:
      an Optional containing the found entity, or empty if not found
    • findAll Link icon

      public <T> List<T> findAll(Class<T> entityClass)
      Description copied from interface: BibernateSession
      Retrieves all entities of a specified type from the data store.
      Specified by:
      findAll in interface BibernateSession
      Type Parameters:
      T - The generic type representing the entity class.
      Parameters:
      entityClass - The class of the entity.
      Returns:
      A list of all entities of the specified type in the data store.
    • findAllById Link icon

      public <T> List<T> findAllById(Class<T> entityClass, Collection<Object> primaryKeys)
      Description copied from interface: BibernateSession
      Retrieves entities based on a collection of primary keys.
      Specified by:
      findAllById in interface BibernateSession
      Type Parameters:
      T - The generic type representing the entity class.
      Parameters:
      entityClass - The class of the entity.
      primaryKeys - A collection of primary keys for identifying and retrieving specific records.
      Returns:
      A list of entities matching the provided collection of primary keys.
    • findAllByColumnValue Link icon

      public <T> List<T> findAllByColumnValue(Class<T> entityClass, String columnName, Object columnValue)
      Description copied from interface: BibernateSession
      Finds all entities of a given class with a specified column value.
      Specified by:
      findAllByColumnValue in interface BibernateSession
      Type Parameters:
      T - the type of the entity
      Parameters:
      entityClass - the class of the entity
      columnName - the name of the column to match
      columnValue - the value to match
      Returns:
      a list of entities matching the criteria
    • findByWhere Link icon

      public <T> List<T> findByWhere(Class<T> entityClass, String whereQuery, Object[] bindValues)
      Description copied from interface: BibernateSession
      Finds entities of a given class based on a custom WHERE clause.
      Specified by:
      findByWhere in interface BibernateSession
      Type Parameters:
      T - the type of the entity
      Parameters:
      entityClass - the class of the entity
      whereQuery - the WHERE clause to apply
      bindValues - values to bind to the query parameters
      Returns:
      a list of entities matching the criteria
    • findByJoinTableField Link icon

      public <T> List<T> findByJoinTableField(Class<T> entityClass, Field field, Object... bindValues)
      Description copied from interface: BibernateSession
      Finds entities of a given class based on a join table field.
      Specified by:
      findByJoinTableField in interface BibernateSession
      Type Parameters:
      T - the type of the entity
      Parameters:
      entityClass - the class of the entity
      field - the field to join on
      bindValues - values to bind to the query parameters
      Returns:
      a list of entities matching the criteria
    • findByWhereJoin Link icon

      public <T> Optional<T> findByWhereJoin(Class<T> entityClass, Object[] bindValues)
      Specified by:
      findByWhereJoin in interface BibernateSession
    • findByQuery Link icon

      public <T> List<T> findByQuery(Class<T> entityClass, String query, Object[] bindValues)
      Description copied from interface: BibernateSession
      Finds entities of a given class based on a custom query.
      Specified by:
      findByQuery in interface BibernateSession
      Type Parameters:
      T - the type of the entity
      Parameters:
      entityClass - the class of the entity
      query - the custom query to execute
      bindValues - values to bind to the query parameters
      Returns:
      a list of entities matching the criteria
    • update Link icon

      public <T> void update(Class<T> entityClass, Object entity)
      Updates the entity of the specified class in the database. This method ensures that both the entity class and the entity instance are not null before proceeding with the update operation. Additionally, it verifies that the entity has a strategy generator for its ID or that the ID value is not null.
      Specified by:
      update in interface BibernateSession
      Type Parameters:
      T - the type of the entity
      Parameters:
      entityClass - the class of the entity to be updated
      entity - the entity instance to be updated
      Throws:
      NullPointerException - if either entityClass or entity is null
      IllegalArgumentException - if the entity does not have a strategy generator for its ID and the ID value is null
    • find Link icon

      public int find(String query, Object[] bindValues)
      Description copied from interface: BibernateSession
      Finds the number of records returned by a custom query.
      Specified by:
      find in interface BibernateSession
      Parameters:
      query - the custom query to execute
      bindValues - values to bind to the query parameters
      Returns:
      the number of records returned by the query
    • save Link icon

      public <T> T save(Class<T> entityClass, T entity)
      Saves the given entity to the database.

      This method ensures that both the entity class and the entity instance are not null before proceeding with the save operation. Additionally, it verifies that the entity has a strategy generator for its ID or that the ID value is not null.

      Specified by:
      save in interface BibernateSession
      Type Parameters:
      T - the type of the entity
      Parameters:
      entityClass - the class of the entity to be saved
      entity - the entity instance to be saved
      Returns:
      the saved entity
      Throws:
      NullPointerException - if either entityClass or entity is null
      IllegalArgumentException - if the entity does not have a strategy generator for its ID and the ID value is null
    • saveAll Link icon

      public <T> void saveAll(Class<T> entityClass, Collection<T> entities)
      Saves all entities in the provided collection to the database.

      This method ensures that the entity class is not null before proceeding with the save operation. Additionally, it verifies that each entity in the collection has a strategy generator for its ID or that the ID value is not null.

      Specified by:
      saveAll in interface BibernateSession
      Type Parameters:
      T - the type of the entities
      Parameters:
      entityClass - the class of the entities to be saved
      entities - the collection of entities to be saved
      Throws:
      NullPointerException - if entityClass is null
      IllegalArgumentException - if any entity in the collection does not have a strategy generator for its ID and the ID value is null
    • deleteById Link icon

      public <T> void deleteById(Class<T> entityClass, Object primaryKey)
      Description copied from interface: BibernateSession
      Deletes an entity from the data store by its primary key.
      Specified by:
      deleteById in interface BibernateSession
      Type Parameters:
      T - the type of the entity
      Parameters:
      entityClass - the class of the entity
      primaryKey - the primary key of the entity to delete
    • deleteAllById Link icon

      public <T> void deleteAllById(Class<T> entityClass, Collection<Object> primaryKeys)
      Description copied from interface: BibernateSession
      Deletes records from the specified table based on the provided collection of primary key values.
      Specified by:
      deleteAllById in interface BibernateSession
      Type Parameters:
      T - The generic type representing the entity class.
      Parameters:
      entityClass - The Class object representing the type of entities for which records will be deleted.
      primaryKeys - A collection of primary key values identifying the records to be deleted.
    • deleteByColumnValue Link icon

      public <T> List<T> deleteByColumnValue(Class<T> entityClass, String columnName, Object columnValue)
      Description copied from interface: BibernateSession
      Deletes records from the specified table where the value in the specified column matches the given criteria.
      Specified by:
      deleteByColumnValue in interface BibernateSession
      Type Parameters:
      T - The generic type representing the entity class.
      Parameters:
      entityClass - The Class object representing the type of entities for which records will be deleted.
      columnName - The name of the column used in the WHERE condition for deletion.
      columnValue - The value to match in the specified column for deletion.
      Returns:
      A list of entities of type T that were deleted from the table.
    • delete Link icon

      public <T> void delete(Class<T> entityClass, T entity)
      Description copied from interface: BibernateSession
      Deletes an entity from the data store.
      Specified by:
      delete in interface BibernateSession
      Type Parameters:
      T - the type of the entity
      Parameters:
      entityClass - the class of the entity
      entity - the entity to delete
    • deleteAll Link icon

      public <T> void deleteAll(Class<T> entityClass, Collection<T> entities)
      Description copied from interface: BibernateSession
      Deletes all records associated with the provided entities from the specified table.
      Specified by:
      deleteAll in interface BibernateSession
      Type Parameters:
      T - The generic type representing the entity class.
      Parameters:
      entityClass - The Class object representing the type of entities to be deleted.
      entities - A collection of entities whose corresponding records will be deleted.
    • flush Link icon

      public void flush()
      Description copied from interface: BibernateSession
      Flushes changes to the underlying database. This method synchronizes the state of the Bibernate session with the database. Any changes that have been queued for insertion, update, or deletion are executed immediately.
      Specified by:
      flush in interface BibernateSession
    • close Link icon

      public void close()
      Description copied from interface: BibernateSession
      Closes the session, releasing any resources associated with it.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface BibernateSession
      Specified by:
      close in interface Closeable
    • getDao Link icon

      public Dao getDao()
      Description copied from interface: BibernateSession
      Gets the Data Access Object (DAO) associated with this session.
      Specified by:
      getDao in interface BibernateSession
      Returns:
      the DAO instance
    • startTransaction Link icon

      public void startTransaction() throws SQLException
      Description copied from interface: BibernateSession
      Starts a new transaction. This method should be called before any operations that are meant to be part of a transaction.
      Specified by:
      startTransaction in interface BibernateSession
      Throws:
      SQLException - if a database access error occurs or this method is called on a closed connection
    • commitTransaction Link icon

      public void commitTransaction() throws SQLException
      Description copied from interface: BibernateSession
      Commits the current transaction. This method should be called to make all changes made within the transaction permanent.
      Specified by:
      commitTransaction in interface BibernateSession
      Throws:
      SQLException - if a database access error occurs, the connection is closed or this method is called when no transaction is active
    • rollbackTransaction Link icon

      public void rollbackTransaction() throws SQLException
      Description copied from interface: BibernateSession
      Rolls back the current transaction. This method should be called if any errors occur within the transaction and the changes made need to be discarded.
      Specified by:
      rollbackTransaction in interface BibernateSession
      Throws:
      SQLException - if a database access error occurs, the connection is closed or this method is called when no transaction is active