mirror of https://github.com/halo-dev/halo
🎨 add java doc for AbstractCrudService.java and BaseRepositoryImpl.java
parent
c0598125b5
commit
8c6914fabf
|
@ -36,6 +36,13 @@ public class BaseRepositoryImpl<DOMAIN, ID> extends SimpleJpaRepository<DOMAIN,
|
|||
this.entityManager = entityManager;
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds all domain by id list and the specified sort.
|
||||
*
|
||||
* @param ids id list of domain must not be null
|
||||
* @param sort the specified sort must not be null
|
||||
* @return a list of domains
|
||||
*/
|
||||
@Override
|
||||
public List<DOMAIN> findAllByIdIn(Iterable<ID> ids, Sort sort) {
|
||||
Assert.notNull(ids, "The given Iterable of Id's must not be null!");
|
||||
|
@ -58,6 +65,12 @@ public class BaseRepositoryImpl<DOMAIN, ID> extends SimpleJpaRepository<DOMAIN,
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes by id list.
|
||||
*
|
||||
* @param ids id list of domain must not be null
|
||||
* @return number of rows affected
|
||||
*/
|
||||
@Override
|
||||
public long deleteByIdIn(Iterable<ID> ids) {
|
||||
|
||||
|
|
|
@ -21,7 +21,6 @@ import java.util.Optional;
|
|||
*
|
||||
* @param <DOMAIN> domain type
|
||||
* @param <ID> id type
|
||||
*
|
||||
* @author johnniang
|
||||
*/
|
||||
public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOMAIN, ID> {
|
||||
|
@ -52,11 +51,22 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
return ((ParameterizedType) this.getClass().getGenericSuperclass()).getActualTypeArguments()[index];
|
||||
}
|
||||
|
||||
/**
|
||||
* List All
|
||||
*
|
||||
* @return List
|
||||
*/
|
||||
@Override
|
||||
public List<DOMAIN> listAll() {
|
||||
return repository.findAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* List all by sort
|
||||
*
|
||||
* @param sort sort
|
||||
* @return List
|
||||
*/
|
||||
@Override
|
||||
public List<DOMAIN> listAll(Sort sort) {
|
||||
Assert.notNull(sort, "Sort info must not be null");
|
||||
|
@ -64,6 +74,12 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
return repository.findAll(sort);
|
||||
}
|
||||
|
||||
/**
|
||||
* List all by pageable
|
||||
*
|
||||
* @param pageable pageable
|
||||
* @return Page
|
||||
*/
|
||||
@Override
|
||||
public Page<DOMAIN> listAll(Pageable pageable) {
|
||||
Assert.notNull(pageable, "Pageable info must not be null");
|
||||
|
@ -71,11 +87,24 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
return repository.findAll(pageable);
|
||||
}
|
||||
|
||||
/**
|
||||
* List all by ids
|
||||
*
|
||||
* @param ids ids
|
||||
* @return List
|
||||
*/
|
||||
@Override
|
||||
public List<DOMAIN> listAllByIds(Collection<ID> ids) {
|
||||
return CollectionUtils.isEmpty(ids) ? Collections.emptyList() : repository.findAllById(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* List all by ids and sort
|
||||
*
|
||||
* @param ids ids
|
||||
* @param sort sort
|
||||
* @return List
|
||||
*/
|
||||
@Override
|
||||
public List<DOMAIN> listAllByIds(Collection<ID> ids, Sort sort) {
|
||||
Assert.notNull(sort, "Sort info must not be null");
|
||||
|
@ -83,6 +112,12 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
return CollectionUtils.isEmpty(ids) ? Collections.emptyList() : repository.findAllByIdIn(ids, sort);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch by id
|
||||
*
|
||||
* @param id id
|
||||
* @return Optional
|
||||
*/
|
||||
@Override
|
||||
public Optional<DOMAIN> fetchById(ID id) {
|
||||
Assert.notNull(id, domainName + " id must not be null");
|
||||
|
@ -90,16 +125,35 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
return repository.findById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get by id
|
||||
*
|
||||
* @param id id
|
||||
* @return DOMAIN
|
||||
* @throws NotFoundException If the specified id does not exist
|
||||
*/
|
||||
@Override
|
||||
public DOMAIN getById(ID id) {
|
||||
return fetchById(id).orElseThrow(() -> new NotFoundException(domainName + " was not found"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets domain of nullable by id.
|
||||
*
|
||||
* @param id id
|
||||
* @return DOMAIN
|
||||
*/
|
||||
@Override
|
||||
public DOMAIN getByIdOfNullable(ID id) {
|
||||
return fetchById(id).orElse(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Exists by id.
|
||||
*
|
||||
* @param id id
|
||||
* @return boolean
|
||||
*/
|
||||
@Override
|
||||
public boolean existsById(ID id) {
|
||||
Assert.notNull(id, domainName + " id must not be null");
|
||||
|
@ -107,6 +161,12 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
return repository.existsById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Must exist by id, or throw NotFoundException.
|
||||
*
|
||||
* @param id id
|
||||
* @throws NotFoundException If the specified id does not exist
|
||||
*/
|
||||
@Override
|
||||
public void mustExistById(ID id) {
|
||||
if (!existsById(id)) {
|
||||
|
@ -114,11 +174,22 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* count all
|
||||
*
|
||||
* @return long
|
||||
*/
|
||||
@Override
|
||||
public long count() {
|
||||
return repository.count();
|
||||
}
|
||||
|
||||
/**
|
||||
* save by domain
|
||||
*
|
||||
* @param domain domain
|
||||
* @return DOMAIN
|
||||
*/
|
||||
@Override
|
||||
public DOMAIN create(DOMAIN domain) {
|
||||
Assert.notNull(domain, domainName + " data must not be null");
|
||||
|
@ -126,11 +197,23 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
return repository.save(domain);
|
||||
}
|
||||
|
||||
/**
|
||||
* save by domains
|
||||
*
|
||||
* @param domains domains
|
||||
* @return List
|
||||
*/
|
||||
@Override
|
||||
public List<DOMAIN> createInBatch(Collection<DOMAIN> domains) {
|
||||
return CollectionUtils.isEmpty(domains) ? Collections.emptyList() : repository.saveAll(domains);
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates by domain
|
||||
*
|
||||
* @param domain domain
|
||||
* @return DOMAIN
|
||||
*/
|
||||
@Override
|
||||
public DOMAIN update(DOMAIN domain) {
|
||||
Assert.notNull(domain, domainName + " data must not be null");
|
||||
|
@ -138,11 +221,24 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
return repository.saveAndFlush(domain);
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates by domains
|
||||
*
|
||||
* @param domains domains
|
||||
* @return List
|
||||
*/
|
||||
@Override
|
||||
public List<DOMAIN> updateInBatch(Collection<DOMAIN> domains) {
|
||||
return CollectionUtils.isEmpty(domains) ? Collections.emptyList() : repository.saveAll(domains);
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes by id
|
||||
*
|
||||
* @param id id
|
||||
* @return DOMAIN
|
||||
* @throws NotFoundException If the specified id does not exist
|
||||
*/
|
||||
@Override
|
||||
public DOMAIN removeById(ID id) {
|
||||
// Get non null domain by id
|
||||
|
@ -155,6 +251,12 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
return domain;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes by id if present.
|
||||
*
|
||||
* @param id id
|
||||
* @return DOMAIN
|
||||
*/
|
||||
@Override
|
||||
public DOMAIN removeByIdOfNullable(ID id) {
|
||||
return fetchById(id).map(domain -> {
|
||||
|
@ -163,6 +265,11 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
}).orElse(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove by domain
|
||||
*
|
||||
* @param domain domain
|
||||
*/
|
||||
@Override
|
||||
public void remove(DOMAIN domain) {
|
||||
Assert.notNull(domain, domainName + " data must not be null");
|
||||
|
@ -170,6 +277,11 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
repository.delete(domain);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove by ids
|
||||
*
|
||||
* @param ids ids
|
||||
*/
|
||||
@Override
|
||||
public void removeInBatch(Collection<ID> ids) {
|
||||
if (CollectionUtils.isEmpty(ids)) {
|
||||
|
@ -180,6 +292,11 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
repository.deleteByIdIn(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove all by domains
|
||||
*
|
||||
* @param domains domains
|
||||
*/
|
||||
@Override
|
||||
public void removeAll(Collection<DOMAIN> domains) {
|
||||
if (CollectionUtils.isEmpty(domains)) {
|
||||
|
@ -189,6 +306,9 @@ public abstract class AbstractCrudService<DOMAIN, ID> implements CrudService<DOM
|
|||
repository.deleteInBatch(domains);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove all
|
||||
*/
|
||||
@Override
|
||||
public void removeAll() {
|
||||
repository.deleteAll();
|
||||
|
|
Loading…
Reference in New Issue