Package com.logicaldoc.core.communication

# Class HibernateMessageTemplateDAO

java.lang.Object
com.logicaldoc.core.HibernatePersistentObjectDAO<MessageTemplate>
com.logicaldoc.core.communication.HibernateMessageTemplateDAO

All Implemented Interfaces:
  `MessageTemplateDAO`, `PersistentObjectDAO<MessageTemplate>`

@Repository("messageTemplateDAO") public class HibernateMessageTemplateDAO extends HibernatePersistentObjectDAO<MessageTemplate> implements MessageTemplateDAO
Hibernate implementation of `MessageTemplateDAO`

Since:
  6.5
Author:
  Marco Meschieri - LogicalDOC

## Field Summary

### Fields inherited from interface com.logicaldoc.core.PersistentObjectDAO

`ENTITY`

## Constructor Summary

Constructors
Constructor
Description
`HibernateMessageTemplateDAO()`

## Method Summary

Modifier and Type
Method
Description
`void`
`delete(long id, int code)`
This method deletes an entity and you can give a deletion code
`List<MessageTemplate>`
`findByLanguage(String language, long tenantId)`
Finds the templates by given language
`List<MessageTemplate>`
`findByName(String name, long tenantId)`
Finds the templates by given name, you may have the same name but for different languages.
`MessageTemplate`
`findByNameAndLanguage(String name, String language, long tenantId)`
Finds the template by the alternate key.
`List<MessageTemplate>`
`findByTypeAndLanguage(String type, String language, long tenantId)`
Finds the templates by the type.

### Methods inherited from class com.logicaldoc.core.HibernatePersistentObjectDAO

`bulkUpdate, count, deleteAll, evict, evict, findById, findByObjectQuery, findByQuery, findByQuery, findByWhere, findIdsByWhere, getDatabaseMetadata, initialize, jdbcUpdate, jdbcUpdate, query, queryForDouble, queryForDouble, queryForInt, queryForInt, queryForList, queryForList, queryForList, queryForLong, queryForLong, queryForObject, queryForObject, queryForResultSet, queryForString, queryForString, setSessionFactory, store`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface com.logicaldoc.core.PersistentObjectDAO

`bulkUpdate, count, count, count, delete, deleteAll, deleteAll, evict, evict, findAll, findAll, findAllIds, findAllIds, findById, findById, findByObjectQuery, findByQuery, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDatabaseMetadata, getDbms, initialize, initialize, isMariaDB, isMySQL, isOracle, isPostgreSQL, isSQLServer, jdbcUpdate, jdbcUpdate, query, query, queryForDouble, queryForDouble, queryForInt, queryForInt, queryForList, queryForList, queryForList, queryForLong, queryForLong, queryForObject, queryForObject, queryForResultSet, queryForString, queryForString, store`

## Constructor Details

### HibernateMessageTemplateDAO

public HibernateMessageTemplateDAO()

## Method Details

### findByLanguage

public List<MessageTemplate> findByLanguage(String language, long tenantId) throws PersistenceException
Description copied from interface: `MessageTemplateDAO`
Finds the templates by given language

Specified by:
  `findByLanguage` in interface `MessageTemplateDAO`
Parameters:
  `language` - the language
  `tenantId` - identifier of the tenant
Returns:
  collection of templates
Throws:
  `PersistenceException` - Error in the database

### findByTypeAndLanguage

public List<MessageTemplate> findByTypeAndLanguage(String type, String language, long tenantId) throws PersistenceException
Description copied from interface: `MessageTemplateDAO`
Finds the templates by the type.

Specified by:
  `findByTypeAndLanguage` in interface `MessageTemplateDAO`
Parameters:
  `type` - type of the template
  `language` - the language
  `tenantId` - the tenant
Returns:
  the found templates
Throws:
  `PersistenceException` - Error in the database

### findByNameAndLanguage

public MessageTemplate findByNameAndLanguage(String name, String language, long tenantId) throws PersistenceException
Description copied from interface: `MessageTemplateDAO`
Finds the template by the alternate key. If the template is not found for the specified language, the 'en' will be used instead.

Specified by:
  `findByNameAndLanguage` in interface `MessageTemplateDAO`
Parameters:
  `name` - name of the template
  `language` - the language, if null 'en' will be used instead
  `tenantId` - the tenant
Returns:
  The found template or the 'en' if none was found
Throws:
  `PersistenceException` - Error in the database

### delete

public void delete(long id, int code) throws PersistenceException
Description copied from interface: `PersistentObjectDAO`
This method deletes an entity and you can give a deletion code

Specified by:
  `delete` in interface `PersistentObjectDAO<MessageTemplate>`
Overrides:
  `delete` in class `HibernatePersistentObjectDAO<MessageTemplate>`
Parameters:
  `id` - ID of the entity which should be deleted
  `code` - Deletion code
Throws:
  `PersistenceException` - raised in case of errors in the database

### findByName

public List<MessageTemplate> findByName(String name, long tenantId) throws PersistenceException
Description copied from interface: `MessageTemplateDAO`
Finds the templates by given name, you may have the same name but for different languages.

Specified by:
  `findByName` in interface `MessageTemplateDAO`
Parameters:
  `name` - name of the template
  `tenantId` - identifier of the tenant
Returns:
  collection of templates
Throws:
  `PersistenceException` - Error in the database