All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fi.foyt.fni.persistence.dao.messages.MessageFolderDAO Maven / Gradle / Ivy

There is a newer version: 3.3.13
Show newest version
package fi.foyt.fni.persistence.dao.messages;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;

import fi.foyt.fni.persistence.dao.GenericDAO;
import fi.foyt.fni.persistence.model.messages.MessageFolder;
import fi.foyt.fni.persistence.model.messages.MessageFolder_;
import fi.foyt.fni.persistence.model.users.User;

public class MessageFolderDAO extends GenericDAO {

	private static final long serialVersionUID = 1L;

	public MessageFolder create(User owner, String name) {
		MessageFolder messageFolder = new MessageFolder();
		
		messageFolder.setName(name);
		messageFolder.setOwner(owner);
		
		getEntityManager().persist(messageFolder);
		
		return messageFolder;
	}
  
  public List listByOwner(User owner) {
    EntityManager entityManager = getEntityManager();

    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery criteria = criteriaBuilder.createQuery(MessageFolder.class);
    Root root = criteria.from(MessageFolder.class);
    criteria.select(root);
    criteria.where(
      criteriaBuilder.equal(root.get(MessageFolder_.owner), owner)
    );
    
    return entityManager.createQuery(criteria).getResultList();
  }
  
  public MessageFolder updateName(MessageFolder messageFolder, String name) {
  	messageFolder.setName(name);
  	getEntityManager().persist(messageFolder);
  	return messageFolder;
  }
  
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy