<?php

namespace Diamond\Repositories\GuestBook;


use Diamond\Domain\GuestBook\GuestBookCollection;
use Diamond\Infrastructure\Models\GuestBook\GuestBook;
use Diamond\Infrastructure\Models\GuestBook\GuestBookQuery;
use Diamond\Repositories\PropelAbstractRepository;
use Propel\Runtime\ActiveQuery\ModelCriteria;
use Repo\CollectionInterface;
use Repo\CrudRepositoryBuilderInterface;
use Repo\EntityInterface;
use Repo\PaginationInterface;

class GuestBookRepository extends PropelAbstractRepository implements CrudRepositoryBuilderInterface
{
    /**
     * @return EntityInterface
     */
    public static function createEntity(): EntityInterface
    {
        return new GuestBook();
    }

    /**
     * @return ModelCriteria
     */
    protected function createQuery(): ModelCriteria
    {
        return GuestBookQuery::create();
    }

    /**
     * @param PaginationInterface|GuestBookCriteria $criteria
     * @param ModelCriteria|GuestBookQuery $dbCriteria
     */
    protected function modifyCriteria(PaginationInterface $criteria, ModelCriteria $dbCriteria): void
    {
        
    }
    

    protected function createCollection(): CollectionInterface
    {
        return new GuestBookCollection();
    }

}