<?php
/**
 * Invoice Number Service Provider
 *
 * @package Easy_Invoice
 * @subpackage Providers
 */

namespace EasyInvoice\Providers;

use EasyInvoice\Services\InvoiceNumberService;

/**
 * InvoiceNumberServiceProvider Class
 * 
 * Handles the registration of invoice number services.
 */
class InvoiceNumberServiceProvider {
    /**
     * The service instance
     *
     * @var InvoiceNumberService
     */
    private $service = null;
    
    /**
     * Register invoice number services
     */
    public function register() {
        // Register service providers, load dependencies, etc.
        $this->registerServices();
    }
    
    /**
     * Register services
     */
    protected function registerServices() {
        // This method would be more useful if you're using a dependency injection container
        // For now, it's just a placeholder to maintain structure for future expansion
    }
    
    /**
     * Register invoice number service
     */
    protected function registerInvoiceNumberService() {
        // Create and store the service instance
        $this->service = new InvoiceNumberService();
    }
    
    /**
     * Get the invoice number service
     *
     * @return InvoiceNumberService The invoice number service
     */
    public function getInvoiceNumberService() {
        // Create the service if it doesn't exist
        if ($this->service === null) {
            $this->service = new InvoiceNumberService();
        }
        
        return $this->service;
    }
} 