* @package Gedmo.Sluggable.Handler * @subpackage SlugHandlerInterface * @link http://www.gediminasm.org * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ interface SlugHandlerInterface { /** * Construct the slug handler * * @param Gedmo\Sluggable\SluggableListener $sluggable */ function __construct(SluggableListener $sluggable); /** * Get the options for specific object * * @param object $object * @return array */ function getOptions($object); /** * Callback on slug handlers right after the slug is built * * @param Gedmo\Sluggable\Mapping\Event\SluggableAdapter $ea * @param array $config * @param object $object * @param string $slug * @return void */ function postSlugBuild(SluggableAdapter $ea, array &$config, $object, &$slug); /** * Callback for slug handlers on slug completion * * @param Gedmo\Sluggable\Mapping\Event\SluggableAdapter $ea * @param array $config * @param object $object * @param string $slug * @return void */ function onSlugCompletion(SluggableAdapter $ea, array &$config, $object, &$slug); /** * Validate handler options * * @param array $options */ static function validate(array $options, ClassMetadata $meta); }