package com.github.dandelion.datatables.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.dandelion.datatables.core.ajax.DataSet;
import com.github.dandelion.datatables.core.ajax.DatatablesCriterias;
import com.github.dandelion.datatables.model.Person;
import com.github.dandelion.datatables.repository.PersonRepository;
/**
* <p>
* Mostly used as a facade for all controllers.
*
* @author tduchateau
*/
@Service
public class PersonServiceImpl implements PersonService {
@Autowired
private PersonRepository personRepository;
/**
* {@inheritDoc}
*/
public List<Person> findAll() {
return personRepository.findAll();
}
/**
* {@inheritDoc}
*/
public List<Person> findLimited(int maxResult) {
return personRepository.findLimited(maxResult);
}
/**
* {@inheritDoc}
*/
public DataSet<Person> findPersonsWithDatatablesCriterias(DatatablesCriterias criterias) {
List<Person> persons = personRepository.findPersonWithDatatablesCriterias(criterias);
Long count = personRepository.getTotalCount();
Long countFiltered = personRepository.getFilteredCount(criterias);
return new DataSet<Person>(persons, count, countFiltered);
}
}