@Transactional public abstract class BaseRepository<ID extends java.io.Serializable,E extends io.sunshower.persistence.core.Persistable<ID>> extends java.lang.Object implements EntityRepository<ID,E>
Modifier | Constructor and Description |
---|---|
protected |
BaseRepository(java.lang.Class<E> entityType) |
protected |
BaseRepository(java.lang.Class<E> entityType,
java.lang.String entityName) |
Modifier and Type | Method and Description |
---|---|
protected <T extends ProtectedDistributableEntity> |
checkPermission(T instance,
org.springframework.security.acls.model.Permission... permissions) |
protected long |
count(E entity) |
E |
create(E entity) |
E |
delete(ID id) |
protected void |
flush() |
E |
get(ID id) |
protected javax.persistence.EntityManager |
getEntityManager() |
protected Session |
getSession() |
protected <T extends io.sunshower.persistence.core.Persistable> |
grant(java.lang.Class<T> entityType,
T instance,
org.springframework.security.acls.model.Permission... permissions) |
protected <T extends io.sunshower.persistence.core.Persistable> |
grant(T instance,
org.springframework.security.acls.model.Permission... permissions) |
protected <T extends java.io.Serializable> |
idFor(E e) |
java.util.List<E> |
list() |
protected javax.persistence.TypedQuery<E> |
listQuery() |
protected <T extends io.sunshower.persistence.core.Persistable> |
revokeAll(java.lang.Class<T> type,
T instance) |
protected void |
revokeAll(E instance) |
E |
save(E entity) |
E |
update(E entity) |
protected BaseRepository(java.lang.Class<E> entityType)
protected BaseRepository(java.lang.Class<E> entityType, java.lang.String entityName)
@PreAuthorize(value="hasAuthority(\'tenant:user\')") public E create(E entity)
create
in interface EntityRepository<ID extends java.io.Serializable,E extends io.sunshower.persistence.core.Persistable<ID>>
@PreAuthorize(value="hasPermission(#entity, \'WRITE\')") public E update(E entity)
update
in interface EntityRepository<ID extends java.io.Serializable,E extends io.sunshower.persistence.core.Persistable<ID>>
@PreAuthorize(value="hasAuthority(\'tenant:user\')") public java.util.List<E> list()
list
in interface EntityRepository<ID extends java.io.Serializable,E extends io.sunshower.persistence.core.Persistable<ID>>
public E get(ID id)
get
in interface EntityRepository<ID extends java.io.Serializable,E extends io.sunshower.persistence.core.Persistable<ID>>
public E delete(ID id)
delete
in interface EntityRepository<ID extends java.io.Serializable,E extends io.sunshower.persistence.core.Persistable<ID>>
@PreAuthorize(value="hasAuthority(\'tenant:user\')") public E save(E entity)
save
in interface EntityRepository<ID extends java.io.Serializable,E extends io.sunshower.persistence.core.Persistable<ID>>
protected long count(E entity)
protected javax.persistence.TypedQuery<E> listQuery()
protected Session getSession()
protected void flush()
protected javax.persistence.EntityManager getEntityManager()
protected <T extends io.sunshower.persistence.core.Persistable> void grant(java.lang.Class<T> entityType, T instance, org.springframework.security.acls.model.Permission... permissions)
protected <T extends io.sunshower.persistence.core.Persistable> void grant(T instance, org.springframework.security.acls.model.Permission... permissions)
protected <T extends ProtectedDistributableEntity> void checkPermission(T instance, org.springframework.security.acls.model.Permission... permissions)
protected <T extends io.sunshower.persistence.core.Persistable> void revokeAll(java.lang.Class<T> type, T instance)
protected <T extends java.io.Serializable> T idFor(E e)
protected void revokeAll(E instance)