# Hierarchy For All Packages

Package Hierarchies:

- cvut.fel,
- cvut.fel.config,
- cvut.fel.controller,
- cvut.fel.controller.config,
- cvut.fel.controller.interceptors,
- cvut.fel.dto,
- cvut.fel.dto.request,
- cvut.fel.entity,
- cvut.fel.exception,
- cvut.fel.repository,
- cvut.fel.service,
- cvut.fel.utils

## Class Hierarchy

- java.lang.Object
  - cvut.fel.dto.AbstractDTO (implements java.lang.Cloneable)
    - cvut.fel.dto.AuthorDTO
    - cvut.fel.dto.BookDTO
    - cvut.fel.dto.LibraryDTO
    - cvut.fel.dto.LinkDTO
    - cvut.fel.dto.PublisherDTO
  - cvut.fel.entity.AbstractEntity (implements java.io.Serializable)
    - cvut.fel.entity.Address
    - cvut.fel.entity.Author
    - cvut.fel.entity.Book
    - cvut.fel.entity.Genre
    - cvut.fel.entity.Library
    - cvut.fel.entity.Publisher
  - cvut.fel.dto.AddressDTO (implements java.lang.Cloneable)
  - cvut.fel.controller.BaseControllerTestRunner
    - cvut.fel.controller.BookControllerTest
    - cvut.fel.controller.LibraryControllerTest
    - cvut.fel.controller.PublisherControllerTest
  - cvut.fel.controller.BookController
  - cvut.fel.dto.request.BookCreate
  - cvut.fel.service.BookServiceImp (implements cvut.fel.service.BookService)
  - cvut.fel.service.BookServiceTest
  - cvut.fel.controller.interceptors.DetailedLoggingStrategy (implements cvut.fel.controller.interceptors.LoggingStrategy)
  - cvut.fel.dto.DTOMapperTest
  - cvut.fel.utils.Generator
  - cvut.fel.GeneratorTemp
  - cvut.fel.config.InterceptorAppConfig (implements org.springframework.web.servlet.config.annotation.WebMvcConfigurer)
  - cvut.fel.controller.LibraryController
  - cvut.fel.service.LibraryServiceImp (implements cvut.fel.service.LibraryService)
  - cvut.fel.service.LibraryServiceTest
  - cvut.fel.controller.interceptors.LoggerInterceptor (implements org.springframework.web.servlet.HandlerInterceptor)
  - cvut.fel.controller.PublisherController
  - cvut.fel.service.PublisherServiceImp (implements cvut.fel.service.PublisherService)
  - cvut.fel.service.PublisherServiceTest
  - cvut.fel.dto.request.RequestMapper
  - org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler
    - cvut.fel.controller.config.RestResponseEntityExceptionHandler
  - cvut.fel.repository.SaveEntityFacade
  - cvut.fel.controller.interceptors.ShortLoggingStrategy (implements cvut.fel.controller.interceptors.LoggingStrategy)
  - cvut.fel.config.SpringFoxConfig
  - cvut.fel.StartApplication (implements org.springframework.boot.CommandLineRunner)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - cvut.fel.exception.FieldInvalidException
        - cvut.fel.exception.FieldMissingException
        - cvut.fel.exception.FieldTooLongException
        - cvut.fel.exception.NotFoundException

## Interface Hierarchy

- cvut.fel.service.BookService
- cvut.fel.dto.DTOMapper
- cvut.fel.service.LibraryService
- cvut.fel.controller.interceptors.LoggingStrategy
- cvut.fel.service.PublisherService
- org.springframework.data.repository.Repository<T,​ID>
  - org.springframework.data.repository.CrudRepository<T,​ID>
    - cvut.fel.repository.AddressRepository
    - cvut.fel.repository.AuthorRepository
    - cvut.fel.repository.BookRepository
    - cvut.fel.repository.GenreRepository
    - cvut.fel.repository.LibraryRepository
    - cvut.fel.repository.PublisherRepository