<?php
/**
 * Taggable ContentManager Interface
 *
 * @author Elze Kool <info@visualmedia.nl>
 */

namespace VisualM\TagManagerBundle\Content;

/**
 * Taggable ContentManager Interface
 *
 * Interface that defines a content manager / repository used for retrieving
 * available taggable content
 *
 * @author Elze Kool <info@visualmedia.nl>
 */
interface TaggableContentManagerInterface
{
    /**
     * Get list of Content Id's that are managed by this repository
     *
     * @return array Content Ids
     */
    public function getContentIds();

    /**
     * Check if this ContentManager handles the given entity
     * 
     * @param TaggableContentInterface $entity Entity
     *
     * @return bool Handles entity
     */
    public function isEntityHandled(TaggableContentInterface $entity);

}
