Interface DeviceDAO

All Superinterfaces:
PersistentObjectDAO<Device>
All Known Implementing Classes:
HibernateDeviceDAO

public interface DeviceDAO extends PersistentObjectDAO<Device>
A DAO to handle the devices
Since:
8.5.3
Author:
Marco Meschieri - LogicalDOC
  • Method Details

    • findByDeviceId

      Device findByDeviceId(String deviceId)
      Gets the device by it's alternate key: Device.getDeviceId()
      Parameters:
      deviceId - identifier of the device
      Returns:
      the found device
    • findByDevice

      Device findByDevice(Device device)
      Finds the device that corresponds to the given one
      Parameters:
      device - the device to take as model
      Returns:
      the found device
    • findByUserId

      List<Device> findByUserId(long userId)
      Finds the devices of a specific user
      Parameters:
      userId - identifier of the user
      Returns:
      the list of devices ordered by descending last login date
    • findTrustedDevices

      List<Device> findTrustedDevices(long userId)
      Retrieves all the devices trusted by a given user
      Parameters:
      userId - the user to consider
      Returns:
      the list of devices ordered by descending last login date
    • isTrustedDevice

      boolean isTrustedDevice(String username, javax.servlet.http.HttpServletRequest request)
      Checks if the current request's device is trusted by the user
      Parameters:
      username - username of the current user
      request - the current request
      Returns:
      true only if the request's device is trusted by the user
    • trustDevice

      Device trustDevice(User user, Device device) throws PersistenceException
      Trusts a device for a user
      Parameters:
      user - the current user
      device - the device to trust
      Returns:
      the trusted device
      Throws:
      PersistenceException - an error happened in the database
    • cleanOldDevices

      void cleanOldDevices(int ttl)
      This method deletes all the devices lastly used before the given days since now. If ttl is 0 or -1, the cancellation is not made.
      Parameters:
      ttl - The maximum number of days over which the device is considered old