Interface EventReservationPropagationService

All Known Implementing Classes:
DefaultEventReservationPropagationService

public interface EventReservationPropagationService
Creates `Reservation_registration` and `Reservation_lecturer_booking` entities in an efficient manner.
  • Method Details

    • getRegistrationCreateStatus

      Set<String> getRegistrationCreateStatus()
    • getRegistrationRemoveStatus

      Set<String> getRegistrationRemoveStatus()
    • getLecturerBookingCreateStatus

      Set<String> getLecturerBookingCreateStatus()
    • getRegistrationCreateType

      @Nullable @Nullable Set<String> getRegistrationCreateType()
      Returns:
      The Registration_types (unique_id) required to create a Reservation_registration. If null or empty then no specific Registration_type is required.
    • getRegistrationRemoveType

      @Nullable @Nullable Set<String> getRegistrationRemoveType()
      Returns:
      The Registration_types (unique_id) that remove the Reservation_registrations if set. If null or empty then no Registration_type deleted Reservation_registrations.
    • createReservationRegistrations

      List<Entity> createReservationRegistrations(List<Entity> reservations, Entity registration)
      Makes sure that there exists a `Reservation_registration` entity for each given `Reservation` entity and the given `Registration` entity.
      Parameters:
      reservations - All the `Reservation` entities that should have a `Reservation_registration` entity
      registration - The `Registration` entity the `Reservation_registration` should be linked to
      Returns:
      the created `Reservation_registration` entities.
    • createReservationLecturerBookings

      List<Entity> createReservationLecturerBookings(List<Entity> reservations, Entity lecturerBooking)
      Makes sure that there exists a `Reservation_lecturer_booking` entity for each given `Reservation` entity and the given `Lecturer_booking` entity.
      Parameters:
      reservations - All the `Reservation` entities that should have a `Reservation_lecturer_booking` entity
      lecturerBooking - The `Lecturer_booking` entity the `Reservation_lecturer_booking` should be linked to
      Returns:
      the created `Reservation_lecturer_booking` entities.