Interface CsvDownloadController<DTO extends org.autumnframework.service.api.dtos.Identifiable,T extends org.autumnframework.service.jpa.entities.ApiEntity>

Type Parameters:
DTO -
T -
All Known Subinterfaces:
AuditedCsvController<DTO,T>, AuditedCsvDownloadController<DTO,T>, CsvController<DTO,T>, FullCsvDownloadController<DTO,T>
All Known Implementing Classes:
CsvFullRestController, CsvFullStreamingRestController

public interface CsvDownloadController<DTO extends org.autumnframework.service.api.dtos.Identifiable,T extends org.autumnframework.service.jpa.entities.ApiEntity>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.slf4j.Logger
    Logger
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    downloadDtoCsv(LocalDateTime date, boolean camelCaseHeader, org.springframework.data.domain.Pageable page, jakarta.servlet.http.HttpServletResponse response)
     
    default void
    downloadDtoCsv(LocalDateTime start, LocalDateTime end, boolean camelCaseHeader, org.springframework.data.domain.Pageable page, jakarta.servlet.http.HttpServletResponse response)
     
    default void
    downloadDtoCsv(org.springframework.data.domain.Pageable page, boolean camelCaseHeader, jakarta.servlet.http.HttpServletResponse response)
    Construct a csv of all the data the findAllService can supply
    default Function<T,DTO>
    Override this to supply a mapping function other than mapToDTO
    default List<DTO>
    getDtoCsvContent(LocalDateTime start, LocalDateTime end, org.springframework.data.domain.Pageable page)
    Override this to supply the contents for the csv with date selection
    default List<DTO>
    getDtoCsvContent(LocalDateTime date, org.springframework.data.domain.Pageable page)
    Override this to supply the contents for the csv with date selection
    default List<DTO>
    getDtoCsvContent(org.springframework.data.domain.Pageable page)
    Override this to supply the contents for the csv
    default String
    Override this to supply your own name for the csv output
    default String
     
    default List<String>
    Override this to skip fields in the csv output
    org.autumnframework.service.mappers.DtoEntityMapper<DTO,T>
     
    org.autumnframework.service.jpa.services.FullApiService<T>
     
    default void
    returnCsv(List<DTO> records, jakarta.servlet.http.HttpServletResponse response, boolean camelCaseHeader)
     
  • Field Details

    • log

      static final org.slf4j.Logger log
      Logger
  • Method Details

    • getService

      org.autumnframework.service.jpa.services.FullApiService<T> getService()
      Returns:
    • getMapper

      org.autumnframework.service.mappers.DtoEntityMapper<DTO,T> getMapper()
      Returns:
    • downloadDtoCsv

      @GetMapping(path="", produces="text/csv") default void downloadDtoCsv(org.springframework.data.domain.Pageable page, @RequestParam(name="camelCaseHeader",defaultValue="true") boolean camelCaseHeader, jakarta.servlet.http.HttpServletResponse response) throws IOException
      Construct a csv of all the data the findAllService can supply
      Parameters:
      page -
      camelCaseHeader -
      response -
      Throws:
      IOException
    • downloadDtoCsv

      @GetMapping(path="/since/{date}", produces="text/csv") default void downloadDtoCsv(@PathVariable(name="date",required=true) LocalDateTime date, @RequestParam(name="camelCaseHeader",defaultValue="true") boolean camelCaseHeader, org.springframework.data.domain.Pageable page, jakarta.servlet.http.HttpServletResponse response) throws IOException
      Parameters:
      date -
      camelCaseHeader -
      page -
      response -
      Throws:
      IOException
    • downloadDtoCsv

      @GetMapping(path="/between/{start}/{end}", produces="text/csv") default void downloadDtoCsv(@PathVariable(name="start",required=true) LocalDateTime start, @PathVariable(name="end",required=true) LocalDateTime end, @RequestParam(name="camelCaseHeader",defaultValue="true") boolean camelCaseHeader, org.springframework.data.domain.Pageable page, jakarta.servlet.http.HttpServletResponse response) throws IOException
      Parameters:
      start -
      end -
      camelCaseHeader -
      page -
      response -
      Throws:
      IOException
    • returnCsv

      default void returnCsv(List<DTO> records, jakarta.servlet.http.HttpServletResponse response, boolean camelCaseHeader) throws IOException
      Parameters:
      records -
      response -
      camelCaseHeader -
      Throws:
      IOException
    • getDtoCsvName

      default String getDtoCsvName()
      Override this to supply your own name for the csv output
      Returns:
    • getDtoExcludeFieldNames

      default List<String> getDtoExcludeFieldNames()
      Override this to skip fields in the csv output
      Returns:
    • getDtoCsvContent

      default List<DTO> getDtoCsvContent(org.springframework.data.domain.Pageable page)
      Override this to supply the contents for the csv
      Parameters:
      page -
      Returns:
    • getDtoCsvContent

      default List<DTO> getDtoCsvContent(LocalDateTime date, org.springframework.data.domain.Pageable page)
      Override this to supply the contents for the csv with date selection
      Parameters:
      date -
      page -
      Returns:
    • getDtoCsvContent

      default List<DTO> getDtoCsvContent(LocalDateTime start, LocalDateTime end, org.springframework.data.domain.Pageable page)
      Override this to supply the contents for the csv with date selection
      Parameters:
      start -
      end -
      page -
      Returns:
    • getCsvMappingFunction

      default Function<T,DTO> getCsvMappingFunction()
      Override this to supply a mapping function other than mapToDTO
      Returns:
    • getDtoCsvName

      default String getDtoCsvName(List<DTO> records)
      Parameters:
      records -
      Returns: