package org.jboss.seam.security; import static org.jboss.seam.security.EntityAction.DELETE; import static org.jboss.seam.security.EntityAction.INSERT; import static org.jboss.seam.security.EntityAction.READ; import static org.jboss.seam.security.EntityAction.UPDATE; import javax.persistence.PostLoad; import javax.persistence.PrePersist; import javax.persistence.PreRemove; import javax.persistence.PreUpdate; /** * Facilitates security checks for entity beans. * * @author Shane Bryzak */ public class EntitySecurityListener { @PostLoad public void postLoad(Object entity) { EntityPermissionChecker.instance().checkEntityPermission(entity, READ); } @PrePersist public void prePersist(Object entity) { EntityPermissionChecker.instance().checkEntityPermission(entity, INSERT); } @PreUpdate public void preUpdate(Object entity) { EntityPermissionChecker.instance().checkEntityPermission(entity, UPDATE); } @PreRemove public void preRemove(Object entity) { EntityPermissionChecker.instance().checkEntityPermission(entity, DELETE); } }