# Hierarchy For All Packages

Package Hierarchies:

- com.plannaplan.api,
- com.plannaplan.configutils,
- com.plannaplan.entities,
- com.plannaplan.exceptions,
- com.plannaplan.models,
- com.plannaplan.repositories,
- com.plannaplan.services,
- com.plannaplan.types

## Class Hierarchy

- java.lang.Object
  - com.plannaplan.entities.AppConfig
  - com.plannaplan.entities.Assignment
  - com.plannaplan.services.AssignmentService
  - com.plannaplan.entities.Commision
  - com.plannaplan.services.CommisionService
  - com.plannaplan.models.ConfigData
  - com.plannaplan.services.ConfiguratorService
  - com.plannaplan.entities.Course
  - com.plannaplan.services.CourseService
  - com.github.scribejava.core.builder.api.DefaultApi10a
    - com.plannaplan.api.UsosOauth1Service
  - com.plannaplan.models.EmailAcceptedData
  - com.plannaplan.models.EmailExchangesData
  - com.plannaplan.services.EmailService
  - com.plannaplan.services.EventService
  - com.plannaplan.entities.Exchange
  - com.plannaplan.services.ExchangeService
  - com.plannaplan.models.ExportData
  - com.plannaplan.models.FileData
  - com.plannaplan.configutils.FileReader
  - com.plannaplan.configutils.FileToDatabaseMigrator
  - com.plannaplan.entities.Groups
  - com.plannaplan.services.GroupService
  - com.plannaplan.entities.Lecturer
  - com.plannaplan.services.LecturerService
  - com.plannaplan.models.MatchData
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - com.plannaplan.exceptions.TokenExpiredException
      - com.plannaplan.exceptions.UserNotFoundException
  - com.plannaplan.models.TourData
  - com.plannaplan.entities.User
  - com.plannaplan.models.UserApiResponse
  - com.plannaplan.services.UserService
  - com.plannaplan.services.UsosApiService

## Interface Hierarchy

- org.springframework.data.repository.query.QueryByExampleExecutor<T>
  - org.springframework.data.jpa.repository.JpaRepository<T,​ID> (also extends org.springframework.data.repository.PagingAndSortingRepository<T,​ID>)
    - com.plannaplan.repositories.AppConfigRepository
    - com.plannaplan.repositories.AssignmentRepository
    - com.plannaplan.repositories.CommisionRepository
    - com.plannaplan.repositories.CourseRepository
    - com.plannaplan.repositories.ExchangeRepository
    - com.plannaplan.repositories.GroupRepository
    - com.plannaplan.repositories.LecturerRepository
    - com.plannaplan.repositories.UserRepository
- org.springframework.data.repository.Repository<T,​ID>
  - org.springframework.data.repository.CrudRepository<T,​ID>
    - org.springframework.data.repository.PagingAndSortingRepository<T,​ID>
      - org.springframework.data.jpa.repository.JpaRepository<T,​ID> (also extends org.springframework.data.repository.query.QueryByExampleExecutor<T>)
        - com.plannaplan.repositories.AppConfigRepository
        - com.plannaplan.repositories.AssignmentRepository
        - com.plannaplan.repositories.CommisionRepository
        - com.plannaplan.repositories.CourseRepository
        - com.plannaplan.repositories.ExchangeRepository
        - com.plannaplan.repositories.GroupRepository
        - com.plannaplan.repositories.LecturerRepository
        - com.plannaplan.repositories.UserRepository

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - com.plannaplan.types.AppState
    - com.plannaplan.types.GroupType
    - com.plannaplan.types.UserRoles
    - com.plannaplan.types.WeekDay