<?php
namespace Booktics\Appointment\Schedule;

/**
 * Null implementation of Time_Slot_Strategy that returns empty slots.
 * Used as a fallback or placeholder strategy.
 *
 * @package Booktics\Appointment\Schedule
 */
class Null_Strategy implements Time_Slot_Strategy {
    /**
     * Generates an empty array of time slots, implementing the null object pattern.
     *
     * @param Schedule_Entry|null $service_entry The service schedule entry
     * @param Schedule_Entry|null $team_entry The team member schedule entry
     * @param Schedule_Entry|null $default_entry The default schedule entry
     * @param Time_Slot_Manager $manager The time slot manager instance
     * @param \DateTime $date The date to generate slots for
     *
     * @return array Empty array of time slots
     */
    public function generate_slots(
        array $service_entries,
        array $team_entries,
        array $default_entries,
        Time_Slot_Manager $manager,
        \DateTime $date
    ): array {
        return array();
    }
}
