View Javadoc
1   package fr.tiogars.inception.domains.domaintemplate.services;
2   
3   import java.util.Optional;
4   
5   import org.springframework.beans.factory.annotation.Autowired;
6   import org.springframework.stereotype.Service;
7   
8   import fr.tiogars.inception.domains.domaintemplate.entities.DomainTemplateEntity;
9   import fr.tiogars.inception.domains.domaintemplate.models.DomainTemplate;
10  import fr.tiogars.inception.domains.domaintemplate.repositories.DomainTemplateRepository;
11  
12  /** Retrieves a DomainTemplate by its persistent identifier. */
13  @Service
14  public class DomainTemplateFindByIdService {
15  
16      private final DomainTemplateRepository repository;
17  
18      @Autowired
19      public DomainTemplateFindByIdService(DomainTemplateRepository repository) {
20          this.repository = repository;
21      }
22  
23      /**
24       * Finds a DomainTemplate by identifier.
25       *
26       * @param id persistent identifier
27       * @return matching template, or an empty optional when none exists
28       */
29      public Optional<DomainTemplate> findById(Long id) {
30          return repository.findById(id)
31                  .map(DomainTemplateFindByIdService::toRecord);
32      }
33  
34      private static DomainTemplate toRecord(DomainTemplateEntity entity) {
35          return new DomainTemplate(
36                  entity.getId(),
37                  entity.getCode(),
38                  entity.getLabel(),
39                  entity.getDescription(),
40                  entity.getCreatedDate(),
41                  entity.getLastModifiedDate(),
42                  entity.getCreatedBy(),
43                  entity.getLastModifiedBy());
44      }
45  }