55 lines
1.5 KiB
Smarty
55 lines
1.5 KiB
Smarty
package $package.infrastructure.persistence;
|
|
|
|
$lombok_common_imports
|
|
import java.util.Optional;
|
|
import java.util.List;
|
|
import java.util.stream.Collectors;
|
|
import org.springframework.data.domain.PageRequest;
|
|
|
|
import $package.domain.model.$entity;
|
|
import $package.domain.repository.${entity}Repository;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
@Component$adapter_annotations_block
|
|
public class ${entity}RepositoryAdapter implements ${entity}Repository {
|
|
|
|
private final ${entity}JpaRepository jpa;
|
|
|
|
$adapter_constructor
|
|
|
|
@Override
|
|
public $entity save($entity a) {
|
|
${entity}Entity e = new ${entity}Entity($adapter_to_entity_args);
|
|
e = jpa.save(e);
|
|
return $entity.create($adapter_to_domain_args);
|
|
}
|
|
|
|
@Override
|
|
public Optional<$entity> findById($id_type $id_name) {
|
|
return jpa.findById($id_name).map(e -> $entity.create($adapter_to_domain_args));
|
|
}
|
|
|
|
@Override
|
|
public List<$entity> findAll(int page, int size) {
|
|
return jpa.findAll(PageRequest.of(page, size))
|
|
.stream()
|
|
.map(e -> $entity.create($adapter_to_domain_args))
|
|
.collect(Collectors.toList());
|
|
}
|
|
|
|
@Override
|
|
public void deleteById($id_type $id_name) {
|
|
jpa.deleteById($id_name);
|
|
}
|
|
|
|
@Override
|
|
public boolean existsById($id_type $id_name) {
|
|
return jpa.existsById($id_name);
|
|
}
|
|
|
|
@Override
|
|
public long count() {
|
|
return jpa.count();
|
|
}
|
|
}
|