Package com.logicaldoc.core.document

# Class HibernateBookmarkDAO

java.lang.Object
com.logicaldoc.core.HibernatePersistentObjectDAO<Bookmark>
com.logicaldoc.core.document.HibernateBookmarkDAO

All Implemented Interfaces:
  `BookmarkDAO`, `PersistentObjectDAO<Bookmark>`

@Repository("bookmarkDAO") public class HibernateBookmarkDAO extends HibernatePersistentObjectDAO<Bookmark> implements BookmarkDAO
Hibernate implementation of `BookmarkDAO`

Since:
  5.2
Author:
  Matteo Caruso - LogicalDOC

## Field Summary

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

`ENTITY`

## Constructor Summary

Constructors
Constructor
Description
`HibernateBookmarkDAO()`

## Method Summary

Modifier and Type
Method
Description
`List<Long>`
`findBookmarkedDocs(long userId)`
Finds the identifiers of the docs bookmarked by the given user
`List<Bookmark>`
`findByUserId(long userId)`
Finds all bookmarks for the given user id
`Bookmark`
`findByUserIdAndDocId(long userId, long docId)`
Finds all bookmarks for the given user id and the given document's identifier
`Bookmark`
`findByUserIdAndFolderId(long userId, long folderId)`
Finds the bookmark for the given user id and the given folder id
`boolean`
`isDocBookmarkedByUser(long docId, long userId)`
Checks if the document is bookmarked by a user

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

`bulkUpdate, count, delete, 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, 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

### HibernateBookmarkDAO

public HibernateBookmarkDAO()

## Method Details

### findByUserId

public List<Bookmark> findByUserId(long userId) throws PersistenceException
Description copied from interface: `BookmarkDAO`
Finds all bookmarks for the given user id

Specified by:
  `findByUserId` in interface `BookmarkDAO`
Parameters:
  `userId` - ID of the user
Returns:
  Collection of all bookmarks for the specified user ordered by position
Throws:
  `PersistenceException` - Error in the database

### findByUserIdAndDocId

public Bookmark findByUserIdAndDocId(long userId, long docId) throws PersistenceException
Description copied from interface: `BookmarkDAO`
Finds all bookmarks for the given user id and the given document's identifier

Specified by:
  `findByUserIdAndDocId` in interface `BookmarkDAO`
Parameters:
  `userId` - ID of the user
  `docId` - ID of the document
Returns:
  The bookmark
Throws:
  `PersistenceException` - Error in the database

### findByUserIdAndFolderId

public Bookmark findByUserIdAndFolderId(long userId, long folderId) throws PersistenceException
Description copied from interface: `BookmarkDAO`
Finds the bookmark for the given user id and the given folder id

Specified by:
  `findByUserIdAndFolderId` in interface `BookmarkDAO`
Parameters:
  `userId` - ID of the user
  `folderId` - ID of the folder
Returns:
  The bookmark
Throws:
  `PersistenceException` - Error in the database

### findBookmarkedDocs

public List<Long> findBookmarkedDocs(long userId) throws PersistenceException
Description copied from interface: `BookmarkDAO`
Finds the identifiers of the docs bookmarked by the given user

Specified by:
  `findBookmarkedDocs` in interface `BookmarkDAO`
Parameters:
  `userId` - identifier of the user
Returns:
  list of document identifiers
Throws:
  `PersistenceException` - Error in the database

### isDocBookmarkedByUser

public boolean isDocBookmarkedByUser(long docId, long userId) throws PersistenceException
Description copied from interface: `BookmarkDAO`
Checks if the document is bookmarked by a user

Specified by:
  `isDocBookmarkedByUser` in interface `BookmarkDAO`
Parameters:
  `docId` - identifier of the document
  `userId` - identifier of the user
Returns:
  true id the document was bookmarked
Throws:
  `PersistenceException` - Error in the database