Package com.ocs.dynamo.service.impl
Class BaseServiceImpl<ID,T extends AbstractEntity<ID>>
- java.lang.Object
-
- com.ocs.dynamo.service.impl.BaseServiceImpl<ID,T>
-
- Type Parameters:
ID- type of the primary keyT- type of the entity
- All Implemented Interfaces:
BaseService<ID,T>
- Direct Known Subclasses:
DefaultServiceImpl
public abstract class BaseServiceImpl<ID,T extends AbstractEntity<ID>> extends Object implements BaseService<ID,T>
Base service implementation- Author:
- bas.rutten
-
-
Constructor Summary
Constructors Constructor Description BaseServiceImpl()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description longcount()longcount(Filter filter, boolean distinct)TcreateNewEntity()voiddelete(List<T> list)voiddelete(T t)List<T>fetch(Filter filter, int pageNumber, int pageSize, FetchJoinInformation... joins)List<T>fetch(Filter filter, int pageNumber, int pageSize, SortOrders sortOrders, FetchJoinInformation... joins)List<T>fetch(Filter filter, FetchJoinInformation... joins)List<T>fetch(Filter filter, SortOrders orders, FetchJoinInformation... joins)TfetchById(ID id, FetchJoinInformation... joins)List<T>fetchByIds(List<ID> ids, FetchJoinInformation... joins)List<T>fetchByIds(List<ID> ids, SortOrders sortOrders, FetchJoinInformation... joins)List<T>fetchByIds(List<ID> ids, Filter additionalFilter, SortOrders sortOrders, FetchJoinInformation... joins)TfetchByUniqueProperty(String propertyName, Object value, boolean caseSensitive, FetchJoinInformation... joins)List<T>find(Filter filter)List<T>find(Filter filter, SortOrder... orders)List<T>findAll()List<T>findAll(SortOrder... orders)TfindById(ID id)TfindByUniqueProperty(String propertyName, Object value, boolean caseSensitive)<S> List<S>findDistinct(Filter filter, String distinctField, Class<S> elementType, SortOrder... orders)<S> List<S>findDistinctInCollectionTable(String tableName, String distinctField, Class<S> elementType)protected TfindIdenticalEntity(T entity)Looks for an identical entity (which has a different primary key butList<ID>findIds(Filter filter, SortOrder... orders)List<ID>findIds(Filter filter, Integer maxResults, SortOrder... orders)List<?>findSelect(Filter filter, String[] selectProperties, int pageNumber, int pageSize, SortOrders sortOrders)List<?>findSelect(Filter filter, String[] selectProperties, SortOrders sortOrders)protected abstract BaseDao<ID,T>getDao()Class<T>getEntityClass()MessageServicegetMessageService()protected booleanidenticalEntityExists(T t)Checks if there is an entity that is identical to this one Subclasses must override the findIdenticalEntity method to perform the actual calculationprotected Stringmessage(String key)protected Stringmessage(String key, Object... args)protected StringmessageWithLocale(String key, Locale loc, Object... args)List<T>save(List<T> list)Tsave(T t)voidvalidate(T t)Validates an entity
-
-
-
Method Detail
-
count
public long count()
- Specified by:
countin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
count
public long count(Filter filter, boolean distinct)
- Specified by:
countin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
createNewEntity
public T createNewEntity()
- Specified by:
createNewEntityin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
delete
@Transactional public void delete(List<T> list)
- Specified by:
deletein interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
delete
@Transactional public void delete(T t)
- Specified by:
deletein interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
fetch
public List<T> fetch(Filter filter, FetchJoinInformation... joins)
- Specified by:
fetchin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
fetch
public List<T> fetch(Filter filter, int pageNumber, int pageSize, FetchJoinInformation... joins)
- Specified by:
fetchin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
fetch
public List<T> fetch(Filter filter, int pageNumber, int pageSize, SortOrders sortOrders, FetchJoinInformation... joins)
- Specified by:
fetchin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
fetch
public List<T> fetch(Filter filter, SortOrders orders, FetchJoinInformation... joins)
- Specified by:
fetchin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
fetchById
public T fetchById(ID id, FetchJoinInformation... joins)
- Specified by:
fetchByIdin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
fetchByIds
public List<T> fetchByIds(List<ID> ids, FetchJoinInformation... joins)
- Specified by:
fetchByIdsin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
fetchByIds
public List<T> fetchByIds(List<ID> ids, SortOrders sortOrders, FetchJoinInformation... joins)
- Specified by:
fetchByIdsin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
fetchByIds
public List<T> fetchByIds(List<ID> ids, Filter additionalFilter, SortOrders sortOrders, FetchJoinInformation... joins)
- Specified by:
fetchByIdsin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
fetchByUniqueProperty
public T fetchByUniqueProperty(String propertyName, Object value, boolean caseSensitive, FetchJoinInformation... joins)
- Specified by:
fetchByUniquePropertyin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
find
public List<T> find(Filter filter)
- Specified by:
findin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
find
public List<T> find(Filter filter, SortOrder... orders)
- Specified by:
findin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
findAll
public List<T> findAll()
- Specified by:
findAllin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
findAll
public List<T> findAll(SortOrder... orders)
- Specified by:
findAllin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
findById
public T findById(ID id)
- Specified by:
findByIdin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
findByUniqueProperty
public T findByUniqueProperty(String propertyName, Object value, boolean caseSensitive)
- Specified by:
findByUniquePropertyin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
findDistinct
public <S> List<S> findDistinct(Filter filter, String distinctField, Class<S> elementType, SortOrder... orders)
- Specified by:
findDistinctin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
findDistinctInCollectionTable
public <S> List<S> findDistinctInCollectionTable(String tableName, String distinctField, Class<S> elementType)
- Specified by:
findDistinctInCollectionTablein interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
findIdenticalEntity
protected T findIdenticalEntity(T entity)
Looks for an identical entity (which has a different primary key but- Parameters:
entity- the entity- Returns:
-
findIds
public List<ID> findIds(Filter filter, Integer maxResults, SortOrder... orders)
- Specified by:
findIdsin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
findIds
public List<ID> findIds(Filter filter, SortOrder... orders)
- Specified by:
findIdsin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
findSelect
public List<?> findSelect(Filter filter, String[] selectProperties, int pageNumber, int pageSize, SortOrders sortOrders)
- Specified by:
findSelectin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
findSelect
public List<?> findSelect(Filter filter, String[] selectProperties, SortOrders sortOrders)
- Specified by:
findSelectin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
getEntityClass
public Class<T> getEntityClass()
- Specified by:
getEntityClassin interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
getMessageService
public MessageService getMessageService()
-
identicalEntityExists
protected final boolean identicalEntityExists(T t)
Checks if there is an entity that is identical to this one Subclasses must override the findIdenticalEntity method to perform the actual calculation- Parameters:
t- the entity to check- Returns:
-
save
@Transactional public List<T> save(List<T> list)
- Specified by:
savein interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
save
@Transactional public T save(T t)
- Specified by:
savein interfaceBaseService<ID,T extends AbstractEntity<ID>>
-
validate
public void validate(T t)
Validates an entity- Specified by:
validatein interfaceBaseService<ID,T extends AbstractEntity<ID>>- Parameters:
t-
-
-